我的api将从其他外部api以及外部客户端应用程序中使用。我的api需要知道它们是如何被使用的。我计划使用提供的访问令牌来访问API,以确定是否正在从另一个api或客户端应用程序调用该api。我的访问令牌可以从客户端凭据授予流以及授权码授予流生成。
当api接收到令牌时,它如何发现令牌是由客户端凭证流或授权授权流生成的?
发布于 2018-08-22 20:26:35
在我的理解中,使用客户端凭据流和授权授权流创建的令牌在技术方面的工作方式完全相同。
最重要的区别是,在客户端凭据令牌中,“可能”有较少的功能“标记”到它。这些功能取决于授权服务器处理令牌创建请求的方式。
例如:在spring security中,您可以配置某些登录(授权或ROPC授权)用户的作用域为"read create update",而匿名用户(客户端凭证)的作用域只能为"read“。然后,提供者应用程序可以决定是使用这个“作用域”,还是忽略它,以相同的方式处理这两个请求。
业界大多数API网关都有自己的处理方式。例如,在Tibco mashery中,除了“作用域”之外,还有一个“用户上下文”,它可以很好地用于分离身份验证和授权。
回答你的问题..这取决于..关于您使用的API网关和身份验证,以及授权服务器如何创建授权授权和客户端凭据令牌。(我对Azure了解不多)
https://stackoverflow.com/questions/51655071
复制相似问题