首页 > 解决方案 > 在 Rails 应用程序中,我如何实现 IdentityServer4 客户端(混合流)并进行用户身份验证并拥有 ecured API

问题描述

我有 Ruby on Rails 应用程序,其当前的身份验证机制是 Devise。前端和后端都在 Rails 中,即我们使用的是 ERB/SLIM 文件。Rails 的当前版本是 4.2。我们需要为它实现 OAuth+OpenID。(SSO)Single Sign-On 服务器基于 IdentityServer4。我们正在使用混合流,因此一旦登录成功就会收到令牌。

我能够通过 SSO 成功登录并登陆我的 Rails 端点,我在该端点上获取 access_token。

我想通过 Rails 前端(erb/slim)连接到我的 Rails API 的理想/标准方式是什么是用户成功登录并接收 access_token 即

  1. 我应该使用 access_token 并绕过设计登录并通过设计令牌在前端和后端之间进行通信吗

  2. 我是否应该为每个后续请求使用 access_token 并根据 access_token 对用户进行身份验证。

access_token 也有过期时间,所以我应该针对每个请求针对 SSO 服务器验证 access_token 还是每小时左右只验证一次 access_token (我可以将来自 SSO 的 access_token 存储在 DB 中并针对它验证用户请求并在指定时间后验证与 SSO)。

我浏览了许多博客和 youtube 视频,但一旦我收到 access_token,它们就会结束。我想知道我们收到 access_token 后的流程,即如何使用它们

标签: ruby-on-railsdeviseidentityserver4openid-connectopenid

解决方案


推荐阅读