多个服务如何重用身份验证cookie?

时间:2018-01-09 20:34:04

标签: reactjs okta

我想了解没有后端的静态网站如何与其他平台上托管的其他自定义API服务一起使用okta。

之情况:

网站是一个angluar / reactjs,作为“静态”网站托管。

我假设您在使用okta进行身份验证时进行身份验证react / angular网站我可以将okta会话ID存储在本地存储或cookie中。

如何创建一个Web服务并在heroku上托管,如何判断用户是否已经过身份验证并重新使用会话?

1 个答案:

答案 0 :(得分:1)

您拥有的场景:

  • 静态托管的JavaScript前端应用程序
  • 后端Web服务(API),JavaScript应用程序向
  • 发出API请求

是一款经典的单页应用(SPA)方案。建议的身份验证流程为OpenID Connect implicit flow

用简单的英语,你是:

  1. 设置JavaScript应用以与Okta(或其他OpenID Connect身份提供商)交谈
  2. 从身份提供商处获取访问令牌
  3. 将访问令牌附加到API请求以进行授权
  4. 您的API服务可以在Heroku或其他地方运行。在您的API服务代码中,您必须在决定接受请求之前验证访问令牌。 API服务可以返回并与身份提供者通信以确定用户的访问令牌是否仍然有效。

    API服务如何验证令牌取决于您用于构建API服务的语言。但是,这个基本想法是:访问令牌授权用户的请求。