我按照此tutorial设置了我的Azure Bot的身份验证。成功登录后,它将为我返回一个令牌。我相信这是访问Microsoft Graph API的授权令牌。如果我想使用同一令牌来交换对另一个Web应用程序的访问令牌,那可能吗?而我该怎么做呢?
是,是possilbe。
授权完成后,您应该能够获得refresh_token。
使用此refresh_token与另一个Web应用程序的scope
交换另一个access_token。像这样:
然后我们可以获得另一个作用域的access_token:
您可以看到范围已从https://graph.microsoft.com
更改为api://{id}/user.write
,这是另一个Web API。
UPDATE:
也许我有一个误会,因为我看到您想交换新的访问令牌。
如果您只想从Bot应用程序访问自己的Web api,而无需调用Microsoft Graph API,只需修改Resource URL(Azure AD v1)或Scopes(Azure AD v2 )。无需交换新的访问令牌。
对于Azure AD v1,您应该将资源URL设置为:api://{api id}
。
对于Azure AD v2,将范围设置为:api://{api id}/.default
。