×

PostmanでAzure B2CのAccessTokenを取得する 【備忘録】

2023/12/03

目次 [隠す]

記事画像

記事の概要

個人でモバイルアプリを作っている。

認証機能としてMicrosoftのAzure Active Directory B2C(以降、B2C)を利用している。

B2Cの認証を介してバックエンドのWeb APIを叩けるようにしたい。

そこで、このWeb APIを開発するにあたり、Postmanを使って動作を確認したかったりする。

環境はあるとのこと。

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

Azure Active Directory B2C によって発行されたアクセス トークンを使用して、Azure API Management API エンドポイントをセキュリティで保護する方法につい

blog card

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タブを開き以下の通り設定
項目
Type OAuth 2.0
Add auth data to Request Headers
Token デフォルトのまま
Header Prefix Bearer
Auto-referesh Token オフ
Share Token オフ
Token Name 任意の名称
Grant type Authorization Code (With PKCE)
Callback URL https://oauth.pstmn.io/v1/callback
B2Cに登録したクライアントアプリのリダイレクトにこの値を保存しておくこと
Authorize using browser オフ
Auth URL https://{テナント名}.b2clogin.com/{テナント名}.onmicrosoft.com/{サインイン ユーザー フロー}/oauth2/v2.0/authorize
Access Token URL https://{テナント名}.b2clogin.com/{テナント名}.onmicrosoft.com/{サインイン ユーザー フロー}/oauth2/v2.0/authorize
Client ID {{ClientID}}
(Valiablesに登録した値を呼び出す変数)
Client Secret 空欄
Code Challenge Method SHA-256
Code Verifier 空欄
Scope openid offline_access https://{テナント名}.onmicrosoft.com/api/access_as_user
3つ目のURLは今回ケースにおいてB2Cに登録したWebAPIの「APIの公開」に設定したもの
State 空欄
Client Authentication Send client credentials in body

以降はデフォルトまま。

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


以上

コメント