因此,我创建了多个REST API,并且希望为所有这些服务提供单个auth服务器(API),以避免在每个新应用程序上创建多个登录。用于多个API的Auth服务器
什么技术最适合这个?一个oauth服务器?
我还希望它能够根据API分离用户,并在需要时共享。但总是让这个单一的auth服务器做它的事情,所以我不必每次都创建单独的登录系统。
我还需要对使用API密钥获取数据的机器进行“非用户输入”访问。但我想用户只需要一个接口来生成第一个消费者密钥,然后在他们的应用中使用它。基本上没有到期的令牌?
我设想的流程是这样的:
- API使用者调用它调用验证API对用户进行授权,并返回一个访问令牌和访问令牌存储在资源API的一个API代理服务器
- API消费者调用现在调用资源服务器的API代理,检查有效的访问令牌并返回数据,但是这次它不调用Auth API,因此我不必在内部对每个请求进行两次调用。
这是一个很好的方法吗?
除此之外,我需要使用API的实际网站不需要用户登录/交互,除非浏览以某种方式访问API,否则oauth仍然可以这样做?我如何在API上验证自己的公共应用程序/网站?我是否应该预先创建没有过期日期的oauth访问令牌?
我不打算用户登录Facebook,谷歌账户等。我只想为我的公司用户在多个服务和API消费者登录存储在一个地方的全球登录。
Oauth,SSO/CAS?