没有得到 refresh_token
Not Getting a refresh_token
这是 my other question 的延续。
我不得不最终让有问题的用户成为管理员角色,然后我在 https://apps.dev.microsoft.com/
创建了一个新的应用程序注册
应用程序通过使用所需参数点击 https://login.microsoftonline.com/common/adminconsent?..
端点获得了管理员许可。
一切正常,我什至能够为该用户创建 Outlook 邮件订阅。
问题是,端点 https://login.microsoftonline.com/common/oauth2/v2.0/token
没有给我 refresh_token
。我尝试在获取授权码的范围内包含 offline_access
(参考 - http://massivescale.com/microsoft-v2-endpoint-primer/),但出现以下错误 -
AADSTS65001: The user or administrator has not consented to use the application.
所以情况是这样的-
如果我使用 v1.0 端点,我会同时获得访问和刷新令牌,但是
到达终点
https://outlook.office.com/api/v2.0/Users('dummy@example.com')/subscriptions
发回 401 Unauthorized
。我知道端点针对 v2.0,但我没有找到 v1.0。
但是,如果我使用 v2.0 端点,我可以创建订阅但只能获得短期存在的访问令牌,这就需要再次完成整个过程我不想。
正如评论者所指出的,您已经注册了一个 Azure AD v2.0 应用程序,并且正在调用 Azure AD v1.0 端点。这严格来说不是您面临的问题,但我建议重新配置您的身份验证端点以适用于 v2.0。
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
我认为您可能 运行 遇到的问题是在调用管理员同意端点之前没有配置静态权限。 Azure AD v2.0 的新功能之一是动态同意和范围,允许您在请求时请求新权限;但是,为了获得管理员同意,您必须将这些配置为静态权限。
您可以通过下面的UI在the App Reg Portal内部的Azure AD v2.0中配置静态权限:
然后尝试再次访问管理员同意端点,最后重新请求 offline_access
范围内的刷新令牌。
这是 my other question 的延续。
我不得不最终让有问题的用户成为管理员角色,然后我在 https://apps.dev.microsoft.com/
创建了一个新的应用程序注册应用程序通过使用所需参数点击 https://login.microsoftonline.com/common/adminconsent?..
端点获得了管理员许可。
一切正常,我什至能够为该用户创建 Outlook 邮件订阅。
问题是,端点 https://login.microsoftonline.com/common/oauth2/v2.0/token
没有给我 refresh_token
。我尝试在获取授权码的范围内包含 offline_access
(参考 - http://massivescale.com/microsoft-v2-endpoint-primer/),但出现以下错误 -
AADSTS65001: The user or administrator has not consented to use the application.
所以情况是这样的-
如果我使用 v1.0 端点,我会同时获得访问和刷新令牌,但是 到达终点
https://outlook.office.com/api/v2.0/Users('dummy@example.com')/subscriptions
发回
401 Unauthorized
。我知道端点针对 v2.0,但我没有找到 v1.0。但是,如果我使用 v2.0 端点,我可以创建订阅但只能获得短期存在的访问令牌,这就需要再次完成整个过程我不想。
正如评论者所指出的,您已经注册了一个 Azure AD v2.0 应用程序,并且正在调用 Azure AD v1.0 端点。这严格来说不是您面临的问题,但我建议重新配置您的身份验证端点以适用于 v2.0。
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
我认为您可能 运行 遇到的问题是在调用管理员同意端点之前没有配置静态权限。 Azure AD v2.0 的新功能之一是动态同意和范围,允许您在请求时请求新权限;但是,为了获得管理员同意,您必须将这些配置为静态权限。
您可以通过下面的UI在the App Reg Portal内部的Azure AD v2.0中配置静态权限:
然后尝试再次访问管理员同意端点,最后重新请求 offline_access
范围内的刷新令牌。