我的api将从其他外部api和外部客户端应用程序中使用。我的api需要知道它们的消耗方式。我打算使用提供的访问令牌访问API,以了解是否正在从另一个API或客户端应用程序调用该API。我的访问令牌可以从客户端凭据授予流以及授权码授予流中生成。
当api收到令牌时,如何找出客户端凭证流或授权授予流生成的令牌?
答案 0 :(得分:0)
据我了解,使用客户端凭证流和授权授予流创建的令牌在技术方面的工作方式完全相同。
最重要的区别是,在客户端凭证令牌中,“可能”具有较少的“标记”功能。这些功能取决于授权服务器处理令牌创建请求的方式。
例如:在spring安全中,您可以配置某些登录(授权或ROPC授予)用户可以将范围设为“读取创建更新”,而作为匿名用户(客户端凭据)只能具有“读取”权限范围。然后,提供商应用程序可以决定是使用此“作用域”还是忽略它并以相同方式处理这两个请求。
业内大多数API网关都有自己的处理方式。例如,在Tibco mashery中,除了“ scope”之外,还有一个“用户上下文”,可以很好地用于区分身份验证和授权。
回答您的问题。。这取决于..您使用哪种API网关和身份验证以及授权服务器如何创建授权授予和客户端凭据令牌。(我对Azure不太了解)