Microsoft Graph APIを使う案件があった。
何をやるにも審査が必要なこの時代。
通しておかないと、OAuthの同意画面でUnauthorizedとなり「リスクがあります」的な警告が表示されてしまう。
これを避けるためにPublisher Verification(ドキュメントの翻訳では発行者の確認)が必要。
大変そうだな、と思ったが、https://learn.microsoft.com/ja-jp/azure/active-directory/develop/publisher-verification-overview#requirements の前提条件をクリアして、手順どおり進めたらあっさりいけた。
日本語の情報がほぼ見当たらなかったのでメモしておく。
困ったのは以下の2つだけだった。
MPNの登録
マルチペイメントネットワークではなく、Microsoft Partner Networkの略。
普段マイクロソフト関連の開発に慣れ親しんでいる人にはお馴染みなのであろうが、
開発者としてはおろかユーザーとしてもろくに触ってないので完全に初めましてであった。
https://partner.microsoft.com/ja-jp/membership から登録に進む。
すると
どのような方法で Microsoft と提携することをご希望ですか?
(1 つまたは複数を選択してください)
と聞かれる。アンケート的なものかと思いきや、選択肢によっては次の画面のフォームが変わるという罠。
OAuthアプリを使いたいんだけなんですが……というケースにマッチする選択肢がいまいちなかったので、一番上の「Partner」を選んだ。
D-U-N-Sは登録されてたけどMPN側の検索に引っかからなかったので会社情報を手動で入れた。
おそらくD-U-N-Sに英語情報が登録されてなかったとかだろうか。
その後はスムーズに進んで、メールアドレスの検証が済んだら、Authorized(承認済み)になった。
Add MPN ID to verify publisherが失敗する
A verified publisher cannot be added to this application. Please contact your administrator for assistance.
という何の情報もないエラーで失敗する。
DevtoolsでAPIのレスポンスを見るとエラーの内容がわかる。
今回は UnableToAddPublisher
だった。
以下によるとリスクベースでNGが出たパターンっぽい。
https://learn.microsoft.com/ja-jp/azure/active-directory/develop/troubleshoot-publisher-verification
ドキュメントに「新規ユーザー作ってやってみて」というそれで良いのか、的な案が書いてあったので試したら通った。
(元々あった別ユーザーでも失敗したので仕方なく)
これで無事OAuth認可画面が怪しくなくなった。
GoogleのOAuth審査はアプリの内容を見られたり、YouTube動画用意したりしなきゃいけないので、それに比べれば楽だと思う。
ただMPNの登録が会社前提になってたので、個人とかだと大変そう。(無理なのかな?)