何时使用哪个OIDC / OAuth流程?

时间:2017-07-06 05:08:23

标签: oauth oidc

对于在......时使用哪个OAUTH / OIDC流程,我感到很困惑。

我已经整理了以下列表来完成选项,如果我弄错了,我会很感激有人纠正我。谢谢。

我认为到目前为止我所理解的是以下用例:

  • 服务器生成的视图Web应用程序(例如:基于ASP.NET或ASP.MVC),每次请求都刷新,并且不使用AJAX访问经过身份验证的API:使用授权代码授予类型流。
  • 服务器生成的视图Web应用程序(例如:基于ASP.MVC)经常刷新,但确实使用AJAX访问经过身份验证的API,并且服务器不会像访问本身(应用程序)一样访问第三方API代表用户:使用授权代码授予类型流 服务器设置会话cookie以访问API。
  • 服务器生成的视图Web应用程序(例如:基于ASP.MVC)经常刷新,但确实使用AJAX访问经过身份验证的API,并且服务器确实访问第三方API本身(应用程序):使用授权代码授予类型流程 服务器设置会话cookie以访问API +使用客户端凭证授予类型流。
  • 客户端生成的视图Web应用程序(SPA),其中客户端在其源服务器上调用经过身份验证的API端点,并且服务器不会将第三方服务调用为自身(应用程序)或用户:使用隐式授予类型流,在用户代理的会话存储中缓存身份验证令牌,并将每个请求上的authentication_token *作为承载令牌传回。
  • 客户端Web应用程序(SPA),客户端在其源服务器上调用经过身份验证的API端点,服务器确实调用第三方服务(应用程序):使用隐式授权类型流,缓存身份验证令牌在用户代理的sessionstorage中,并在每个请求上将authentication_token作为承载令牌传回,并使用客户端凭据授予类型流*。
  • 这可能是最不确定的一个:客户端Web应用程序(SPA),客户端在其源服务器上调用经过身份验证的API端点,服务器会调用第三方服务作为用户:使用隐式授权类型流,在用户代理的sessionstorage中缓存身份验证令牌,并在每个请求上将authentication_token作为承载令牌传回,服务器可以将其传递给第三方服务(CHECK)以验证用户身份用。由于令牌仅经过编码和签名,未加密,因此可以读取令牌的声明。注意:这可能包含不适用于第三方服务的声明。
  • 或者,流程可能是: 用户界面可以预先检查用户是否被允许访问第三方服务(例如:订购鲜花)并使用灰色功能来使用将调用第三方服务的服务器API,直到用户收集并存储第二个授权令牌(但是,如果对API的调用已经使用了自己的承载令牌的授权标头,那么用户代理将如何传回该令牌?)

0 个答案:

没有答案