Postmanを使って、Oauth 2.0のAccessTokenを取得する。Azure AD版
Postmanで手軽にOauth2.0の認証を行って、Access Tokenを取得する方法があったんですねー。
最近いろんなAPIでOAuth2.0を使う機会が多く、いちいちAccess Tokenの取得が面倒だったので、忘れないようにメモメモ。
対象のOauth 2.0サービス
せっかくなので、Azure Avtive DirevtoryでDynamics 365 のWeb APIを利用するシチュエーションということでやってみたいと思います。
Azure ADへのアプリケーション登録
とりあえず、Azure ADのアプリケーション登録。
Azure ADのアプリ登録画面に移動して[新しいアプリケーションの登録]をクリック。
名前は適当に。
アプリケーションの種類は[Web アプリ/API]
サインオンURIには適切なURIを入力しますが、今回はPostman用のCallbackURLhttps://www.getpostman.com/oauth2/callback、を指定してあげます。
最終的には応答URLにこのURLが指定されていればOK。
アプリケーションID(Client ID)を取得して
[キー]から、Client Seacretを生成して、取得
あとは必要なアクセス許可を設定し、Azure AD側は準備完了。
今回はDynamics CRMをアクセス許可で指定しました。
PostmanでのAccess Tokenの取得
次にPostManを立ち上げて[Authentication]→[OAuth2.0]を選択して[Get New Access Token]をクリック
必要なパラメータを設定します。注意点としては、Azure ADのAuthorization Codeの場合、Auth URLにResourceURLを付与してあげないといけないこと。Dynamics 365なら、https://****.crm7.dynamics.comみたいなやつです。
[Token Name] ← 名前を自由に。
[Auth URL] ← https://login.microsoftonline.com/{tenant}/oauth2/authorize?resource={resouceURL}
[Access Token URL] ← https://login.microsoftonline.com/{tenant}/oauth2/token
[Client ID] ← Azure ADのアプリケーションID
[Client Secret] ← Azure ADのキー
[Grant Type] ← Authorization Code
AuthURLとAccess Token URLは以下のページ[エンドポイント]から確認できます。
これで[Request Token]をクリックすればAzureの認証画面が出てくるので、ログインと承認を実行。
Tokenの取得ができました。
あとはUse TokenでHeaderに埋め込んで、Dynamics 365 エンドポイントhttps://***.api.crm7.dynamics.com/api/data/v9.0/にアクセスすれば、データの取得ができます。
手軽に試したいときは便利ですねー。