请仔细阅读以下内容:https : //tools.ietf.org/html/rfc6749#section-3.3试图了解范围。根据规范,范围是在auth服务器中定义的,但不必绑定到单个应用程序(我正在推断)。当我使用Azure时,自定义范围似乎与应用程序注册(My API)相关联。是这种情况还是我缺少什么?有没有一种方法可以定义与某个应用程序(或多个应用程序)无关的范围。
例如,Directory.Read.All范围,我可以想象托管在资源服务器后面的多个API实现了图中的所有Directory服务(不是一个)?
范围对我来说是一个模糊的概念,因此,如果我的问题没有道理,我会道歉。
当我使用Azure时,自定义范围似乎与应用程序注册(My API)相关联。是这种情况还是我缺少什么?有没有一种方法可以定义与某个应用程序(或多个应用程序)无关的范围。
获取令牌时,必须指定scope
值。就像您认为的那样,您的自定义范围实际上是您公开受Azure保护的应用程序。通常,它用作后端应用程序。使用前端应用程序访问它时,必须指定后端应用程序的范围。通常是:api://{back-end app client api}/scope name
Directory.Read.All作用域,我可以想象在资源服务器后面托管的多个API会在图中实现所有Directory服务(不是一个)?
不,这不像您想的那样。您应该将要访问的api放在范围内。例如,如果要访问MS graph api,可以输入https://graph.microsoft.com/.default
。如果要访问自定义api,可以输入api://{back-end app client api}/scope name
。
访问令牌是根据您要访问的api受众发出的,它是唯一的!看到:这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句