🆕
Microsoft Graph Toolkit の Teams MSAL2 Provider について
Microsoft Graph Toolkit にはいくつかのプロバイダーがあり、SharePoint や Microsoft Teams などのいくつかのシナリオでは最適化されています。しかし、Microsoft Teams 用のプロバイダーはシングルサインオンに対応しておらず、正直なところ十分とは言えませんでした。ところが最近になって Teams MSAL2 Provider というものが登場し、シングルサインオンにも対応したようです。ただし、肝心のトークン交換の部分については サンプルコードを見てね と書かれているものの、リンク先には一切の記載がありませんでした。そのため、実際にコードを確認してみました。
トークン交換の部分を抜き出すと、次のようになります。
response = await fetch(url.href, {
method: 'POST',
headers: {
Content-Type': 'application/json',
authorization: Bearer ${clientToken}
},
body: JSON.stringify({
scopes: scopes,
clientid: this.clientId
}),
mode: 'cors',
cache: 'default'
});
const data = await response.json().catch(this.unhandledFetchError);
...
return data.access_token;
独自の実装になっており、TeamsFx の SimpleAuth と連携しているわけではないようです。
このような部分は、今後しっかり対応してほしいと感じていましたが、Issue と Pull Request がすでに上がっていました。next/teamsfx ブランチに含まれているため、近い将来リリースされると思われます。
今後はかなり便利になりそうです。
Discussion