Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

Postmanを使って、Oauth 2.0のAccessTokenを取得する。Azure AD版

Postmanで手軽にOauth2.0の認証を行って、Access Tokenを取得する方法があったんですねー。

www.getpostman.com

最近いろんなAPIでOAuth2.0を使う機会が多く、いちいちAccess Tokenの取得が面倒だったので、忘れないようにメモメモ。

対象のOauth 2.0サービス

せっかくなので、Azure Avtive DirevtoryでDynamics 365 のWeb APIを利用するシチュエーションということでやってみたいと思います。

docs.microsoft.com

Azure ADへのアプリケーション登録

とりあえず、Azure ADのアプリケーション登録。

Azure ADのアプリ登録画面に移動して[新しいアプリケーションの登録]をクリック。

f:id:sugimomoto:20171115224744p:plain

名前は適当に。

アプリケーションの種類は[Web アプリ/API]

サインオンURIには適切なURIを入力しますが、今回はPostman用のCallbackURLhttps://www.getpostman.com/oauth2/callback、を指定してあげます。

最終的には応答URLにこのURLが指定されていればOK。

f:id:sugimomoto:20171115224800p:plain

アプリケーションID(Client ID)を取得して

f:id:sugimomoto:20171115224813p:plain

[キー]から、Client Seacretを生成して、取得

f:id:sugimomoto:20171115225340p:plain

あとは必要なアクセス許可を設定し、Azure AD側は準備完了。

今回はDynamics CRMをアクセス許可で指定しました。

f:id:sugimomoto:20171115224830p:plain

PostmanでのAccess Tokenの取得

次にPostManを立ち上げて[Authentication]→[OAuth2.0]を選択して[Get New Access Token]をクリック

f:id:sugimomoto:20171115224840p:plain

必要なパラメータを設定します。注意点としては、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

f:id:sugimomoto:20171115224849p:plain

AuthURLとAccess Token URLは以下のページ[エンドポイント]から確認できます。

f:id:sugimomoto:20171115224909p:plain

f:id:sugimomoto:20171115224915p:plain

これで[Request Token]をクリックすればAzureの認証画面が出てくるので、ログインと承認を実行。

f:id:sugimomoto:20171115224922p:plain

f:id:sugimomoto:20171115224931p:plain

Tokenの取得ができました。

f:id:sugimomoto:20171115224940p:plain

あとはUse TokenでHeaderに埋め込んで、Dynamics 365 エンドポイントhttps://***.api.crm7.dynamics.com/api/data/v9.0/にアクセスすれば、データの取得ができます。

f:id:sugimomoto:20171115224950p:plain

手軽に試したいときは便利ですねー。