我应该使用哪种OAuth2流/授权类型?

我应该使用哪种OAuth2流/授权类型?,oauth,Oauth,我正在构建一个完整的堆栈应用程序。前端将是SPA,后端部分将是跨多个资源服务器的statelss restful API。另外,我想将身份验证和授权分离为一个微服务,并考虑使用OAuth2作为协议 目标流将类似于SPA用户将ID/密码提交给auth服务,OAuth2服务器将使用访问令牌进行响应。在随后的资源请求中,SPA将与访问令牌一起提交到资源服务器,然后资源服务器将要求身份验证服务器验证令牌 我的问题是OAuth2是否适合上述场景,如果是这种情况,我应该使用哪种OAuth2授权类型/流程?授

我正在构建一个完整的堆栈应用程序。前端将是SPA,后端部分将是跨多个资源服务器的statelss restful API。另外,我想将身份验证和授权分离为一个微服务,并考虑使用OAuth2作为协议

目标流将类似于SPA用户将ID/密码提交给auth服务,OAuth2服务器将使用访问令牌进行响应。在随后的资源请求中,SPA将与访问令牌一起提交到资源服务器,然后资源服务器将要求身份验证服务器验证令牌


我的问题是OAuth2是否适合上述场景,如果是这种情况,我应该使用哪种OAuth2授权类型/流程?

授权代码授权类型应该非常适合您-这就是它通常的工作方式:

  • 用户通过他的浏览器加载SPA
  • 用户按“登录”,并被重定向到“身份验证服务器登录”页面
  • 用户输入他的用户名和密码
  • 身份验证服务器使用授权代码重定向回SPA
  • SPA的后端调用身份验证服务器并向其提供授权代码。如果有效,身份验证服务器将返回一个访问令牌
  • 访问令牌与用户的会话绑定,用户已成功登录
  • 每次调用资源服务器时,都会提供访问令牌,并通过身份验证服务器进行检查

  • 授权码授权类型应该非常适合您-这就是它通常的工作方式:

  • 用户通过他的浏览器加载SPA
  • 用户按“登录”,并被重定向到“身份验证服务器登录”页面
  • 用户输入他的用户名和密码
  • 身份验证服务器使用授权代码重定向回SPA
  • SPA的后端调用身份验证服务器并向其提供授权代码。如果有效,身份验证服务器将返回一个访问令牌
  • 访问令牌与用户的会话绑定,用户已成功登录
  • 每次调用资源服务器时,都会提供访问令牌,并通过身份验证服务器进行检查

  • 您可以使用隐式代码或授权代码,或者采用此处描述的稍有不同的服务器端方法:您可以使用隐式代码或授权代码,或者采用此处描述的稍有不同的服务器端方法:对我来说完全有意义。谢谢嗨,卢克,我只是想确定我的理解是否正确。如果我有一个带有节点的Vuejs SPA,请使用express backend。SPA将重定向以获取授权代码,一旦获得授权代码,它将使用授权代码调用后端API。后端API随后将调用授权服务器以获取访问和id令牌,然后这些令牌将与用户会话绑定?对我来说非常有意义。谢谢嗨,卢克,我只是想确定我的理解是否正确。如果我有一个带有节点的Vuejs SPA,请使用express backend。SPA将重定向以获取授权代码,一旦获得授权代码,它将使用授权代码调用后端API。后端API随后将调用授权服务器以获取访问和id令牌,然后这些令牌与用户会话绑定?