我需要实现单点登录系统使用Oauth2。我理解oauth2中的步骤,但我不知道生成授权码或access_token的具体算法是什么,可能是Hash或something.And我在互联网上找不到它
发布于 2016-04-05 04:14:08
OAuth 2规格:
基于资源服务器安全要求,
访问令牌可以具有不同的格式、结构和使用方法(例如,密码属性)。
令牌(和授权码)的格式没有在规范中定义,因此没有特定的算法。
规格确实需要:
授权服务器必须确保访问令牌不能
生成、修改或猜测以生成有效的访问令牌
未经授权的人。
因此,例如,一个随机的UUID就是一个很好的令牌。你也可以考虑使用JWT tokens。
发布于 2017-01-06 10:46:26
OAuth2规范没有指定任何生成令牌值的算法或方式。您可以使用任何算法,即使序列号从1开始,也可以生成这些令牌值。你可以使用更复杂的随机数生成,加密,加密算法。它们中的大多数都很快地生成密钥值,但您需要检查当前身份验证服务器生成密钥的速度,以及它是否满足您的服务的要求。
例如,对于Spring Security中的令牌生成,DefaultTokenServices使用随机UUID生成访问令牌和刷新令牌。
发布于 2016-05-29 03:38:41
除非你想实现你自己的Oauth生成器,否则你可以使用像WSO2 API Manager这样的现有提供者来支持你的系统。它有很好的文档,并且有许多REST API用于此目的。
https://stackoverflow.com/questions/36032534
复制相似问题