用于多个API的身份验证服务器
因此,我正在创建多个RESTAPI,我希望为所有这些服务创建一个单一的身份验证服务器(API),以避免在每个新应用上创建多个登录 什么技术最适合这个?oauth服务器 我还希望它能够根据API分离用户,并在我需要时进行共享。但总是让单一的身份验证服务器完成它的工作,这样我就不必每次都创建单独的登录系统 我还需要对使用API键获取数据的机器进行“非用户输入”访问。但我猜用户只需要一个界面来生成第一个消费者密钥,然后在他们的应用程序中使用它。基本上是没有过期的代币 我设想的流程类似于:用于多个API的身份验证服务器,api,oauth,Api,Oauth,因此,我正在创建多个RESTAPI,我希望为所有这些服务创建一个单一的身份验证服务器(API),以避免在每个新应用上创建多个登录 什么技术最适合这个?oauth服务器 我还希望它能够根据API分离用户,并在我需要时进行共享。但总是让单一的身份验证服务器完成它的工作,这样我就不必每次都创建单独的登录系统 我还需要对使用API键获取数据的机器进行“非用户输入”访问。但我猜用户只需要一个界面来生成第一个消费者密钥,然后在他们的应用程序中使用它。基本上是没有过期的代币 我设想的流程类似于: API使用者
Oauth,SSO/CAS?除非您想与其他身份提供商和/或服务提供商联合,否则SSO/CAS就太过了。OAuth可以处理您描述的内容。您可以使用OAuth20。它的主要思想正是你所需要的。您的用户将传递他们的用户名和密码一次,然后您的API消费者应用程序将从授权服务器获得访问令牌(类型=密码)。对API的所有后续调用都将使用访问令牌。您可以使用不同的客户端凭据注册不同的API消费者应用程序。每次生成用户访问令牌时都应使用这些客户端凭据,即生成的用户访问令牌将为特定API消费者应用程序颁发。此外,您的API消费者应用程序可以获取访问令牌(type=client\u凭据),以便使用与特定用户无关的API的某些部分。每个API消费者应用程序可能有不同的作用域,这些作用域绑定到API的不同部分。换句话说,范围定义了API消费者应用程序可以使用的API部分。关于令牌过期,您可以为API消费者应用程序访问令牌使用更长的时间,并为用户访问令牌使用刷新令牌机制。有关更多详细信息,请参阅OAuth20规范-