neputa note

PostmanでAzure B2CのAccessTokenを取得する

初稿:

更新:

- 3 min read -

img of PostmanでAzure B2CのAccessTokenを取得する

記事の概要

個人でモバイルアプリを作っている。 認証機能としてMicrosoftのAzure Active Directory B2C(以降、B2C)を利用している。

B2Cの認証を介してバックエンドのWeb APIを叩けるようにしたい。 そこで、このWeb APIを開発するにあたり、Postmanを使って動作を確認したかったりする。

環境はあるとのこと。

Azure Active Directory B2C を使用して Azure API Management API をセキュリティで保護する | Microsoft Learn

Postman上の設定で手こずったので備忘録を残す。これが本記事の主題。

前提条件

  • B2CにWebAPIおよびクライアントアプリを登録済みであること
  • PostmanはWindows版のバージョン10.20.7

Postmanの設定

  • 画面上部中央、検索窓で「Microsoft Graph」のCollectionsを検索(公式の青バッジがついてるやつ)
  • それをPostman上でFolkする
  • My Workspace→Microsoft Graphを選択する
  • VariablesにB2Cに登録したクライアントアプリの「ClientID」を登録
  • My Workspace→Microsoft Graph→Delegatedを選択し、Authorizationタブを開き以下のとおり設定
項目
TypeOAuth 2.0
Add auth data toRequest Headers
Tokenデフォルトのまま
Header PrefixBearer
Auto-referesh Tokenオフ
Share Tokenオフ
Token Name任意の名称
Grant typeAuthorization Code (With PKCE)
Callback URLhttps://oauth.pstmn.io/v1/callback
B2Cに登録したクライアントアプリのリダイレクトにこの値を保存しておくこと
Authorize using browserオフ
Auth URLhttps://[テナント名].b2clogin.com/[テナント名].onmicrosoft.com/[サインイン ユーザー フロー]/oauth2/v2.0/authorize
Access Token URLhttps://[テナント名].b2clogin.com/[テナント名].onmicrosoft.com/[サインイン ユーザー フロー]/oauth2/v2.0/authorize
Client ID{{ClientID}}
(Valiablesに登録した値を呼びだす変数)
Client Secret空欄
Code Challenge MethodSHA-256
Code Verifier空欄
Scopeopenid offline_access
https://[テナント名].onmicrosoft.com/api/access_as_user
3つ目のURLはB2Cに登録した「APIの公開」に設定したもの
State空欄
Client AuthenticationSend client credentials in body

以降はデフォルトまま。

これで、最下部の「Get New Access Token」ボタンよりインタラクティブに認証を行いAccess Tokenをゲットする。

以上

目次