Azure API Management REST API で新開発者ポータルへ接続する方法

Azure API Management は、様々な場所で稼働しているAPIを統合し、共通の API ゲートウェイとして利用できるためとても便利です。コールレートによる制限やCORSの設定、プロダクトやサブスクリプションの管理など至れり尽くせりです。また、Azure API Management を使うと、開発者ポータルが自動生成されます。開発者ポータルでは、実際に API をコールして試せる API リファレンスや、どの程度使用したか確認できるダッシュボードまで生成されます。つまり、API を管理するために必要な機能が全て詰まったサービスです。

非推奨の開発者ポータル

Azure API Management の開発者ポータルには、非推奨の開発者ポータルというものが存在します。現状の開発者ポータルが開発される前のバージョン、いわゆる古い開発者ポータルです。非推奨の開発者ポータルは2023年10月に正式に廃止される予定で、それまではどちらも利用可能な状態になっています。特に理由がない限り、現状の開発者ポータルを利用するべきでしょう。

Azure API Management REST API による接続

Azure API Management を利用して API をサービスインしようとしたとき、そのサービスの HP から Azure API Management の開発者ポータルへ飛ばしたくなることがあります。Azure API Management はそのようなユースケースに対応するため、REST API が用意されています。User – Generate Sso Url というAPIで、シングルサインオンで開発者ポータルにサインインするための認証トークンを含むリダイレクト URL を取得できます。ここで取得した URL にアクセスすることにより、任意のサービスからシームレスに開発者ポータルへ飛ばせるわけです。

しかし、この API で取得できる URL が、なんと非推奨の開発者ポータルへの URL でした。API リファレンスを隅から隅まで読みましたが、どちらの開発者ポータルへ接続するかのパラメータはありませんでした。困った。こういう時はやはりサポートです。Microsoft のサポートに問い合わせてみた結果、以下のような回答が返ってきました。
※とても意訳しています。

  • User – Generate Sso Url のレスポンスは以下のようになっている
    {"value": "https://xxxxxx.portal.azure-api.net/signin-sso?token=xxxxxxxxxx"}
  • 「portal」を「developer」に置き換えてアクセスしてね!

正規表現で置換すれば良さそうです。しかし、回避策という感じが否めません。そもそも非推奨の開発者ポータルに飛ばされるのが不具合な気がします。というわけで、旧ポータルは非推奨とされてるのに、User – Generate Sso Url で発行される URL が旧ポータルになることの是非について、追加で問い合わせ中です。いずれ修正されることを期待します。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA