Azure AD B2C でSPA (1) サンプルをチェックする
現在、PHPでAPIを構成し、SPA上で認証を経たトークンでアクセスするという計画で動いています。
公式ドキュメントでAzure AD B2CのSPAのサンプルを見ると以下の2つがリンクされています。
ほとんど同じじゃないか!という気がしなくもないですが、コードを見るとMSAL.jsで取得しているアプリケーションの種類が違うようです。
そこで、少し調べてみたのですが、
前者は、
const myMSALObj = new msal.PublicClientApplication(msalConfig);
後者は、
const myMSALObj = new Msal.UserAgentApplication(msalConfig);
msal.jsには2バージョンあり、publicとprivateを切り分けるようになったのはv2と思われます。つまり、前者のリンクはmsal.jsのv2ベースで、後者のリンクはmsal.jsのv1ベースということでしょうか。
いずれにしても、MSAL.jsで、トークンの取得や更新をやってくれるので、この部分を任せられるのはありがたいところ。
今回は、前者の方を中心に検討していきたいと思います。
そして、その先の認証周りのシナリオについてはAzure AD B2Cに任せます。
つまり、アプリケーション側は、入り口まで誘導し、結果を受け取るだけでよいということになります。