OpenId Connect Authentication & Azure AD Scopes Confusion



我试图了解我在OpenIdConnectAuthenticationOptions的Scope属性中请求的范围与我的访问令牌返回的内容之间的相关性。

当我只请求"openid profile"我得到所有已被用户或管理员授予同意的范围。此外,返回的访问令牌的版本似乎取决于作用域请求。例如,如果我包含我注册的api://........"我相信我已经在清单中配置了我的web应用程序和api到版本2。

例如:"返回范围"Directory.Read。所有组,读取,所有用户。阅读个人资料打开电子邮件"在我的访问令牌中

是否某些作用域会自动映射到其他作用域,或者是否存在一些逻辑?根据我自己的理解,我正试图找出正在发生的事情的一些逻辑因果。

当你只把" openid profile"在作用域中,访问令牌"Directory.Read中的默认作用域。所有组,读取,所有用户。阅读个人资料打开电子邮件"默认情况下用于Microsoft Graph API。这是故意的。

因为这个访问令牌用于调用UserInfo端点,其中的用户信息实际上来自Microsoft Graph。

当你输入"api://........"在作用域中,访问令牌将用于您的API应用程序。在访问令牌中有一个aud声明,它标识了令牌的预期接收者。你可以检查一下。

最新更新