Azure ad b2c 如何区分从客户端凭据流和授权授予流生成的令牌

Azure ad b2c 如何区分从客户端凭据流和授权授予流生成的令牌,azure-ad-b2c,Azure Ad B2c,我的api将从其他外部api以及外部客户端应用程序中使用。我的api需要知道它们是如何被使用的。我计划使用提供的访问令牌访问API,以确定API是否正在从另一个API或客户端应用程序调用。我的访问令牌可以从客户端凭证授权流以及授权代码授权流生成 当api收到令牌时,它如何发现令牌是由客户端凭据流或授权授予流生成的?据我所知,使用客户端凭据流和授权授予流创建的令牌在技术方面的工作方式完全相同 最重要的区别是,在客户端凭据令牌中,“可能”具有较少的“标记”功能。这些功能取决于授权服务器处理令牌创建请

我的api将从其他外部api以及外部客户端应用程序中使用。我的api需要知道它们是如何被使用的。我计划使用提供的访问令牌访问API,以确定API是否正在从另一个API或客户端应用程序调用。我的访问令牌可以从客户端凭证授权流以及授权代码授权流生成


当api收到令牌时,它如何发现令牌是由客户端凭据流或授权授予流生成的?

据我所知,使用客户端凭据流和授权授予流创建的令牌在技术方面的工作方式完全相同

最重要的区别是,在客户端凭据令牌中,“可能”具有较少的“标记”功能。这些功能取决于授权服务器处理令牌创建请求的方式

例如:在spring security中,您可以将某些登录(授权或ROPC授权)用户的作用域配置为“读取创建更新”,而匿名用户(客户端凭据)只能具有“读取”作用域。然后,提供商应用程序可以决定是使用此“范围”还是忽略它,并以相同的方式处理这两个请求

业界大多数API网关都有自己的处理方式。例如,在Tibco mashery中,除了“范围”之外还有一个“用户上下文”,可以很好地使用它来分离身份验证和授权

回答你的问题。视情况而定。。关于您使用的API网关和身份验证,以及授权服务器如何创建授权授予和客户端凭据令牌。。(我对Azure不太了解)