首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将OpenID连接ID令牌传递给我的后端API以进行验证是否安全?

将OpenID连接ID令牌传递给我的后端API以进行验证是否安全?
EN

Security用户
提问于 2020-09-18 14:06:57
回答 2查看 857关注 0票数 1

我目前正在我的应用程序和电子健康记录(EHR)系统之间添加单一的登录功能。SSO使用OpenID连接授权代码流完成,但与典型的OIDC登录(即使用Google/Facebook/etc登录)不同,EHR系统启动SSO进程(IdP启动)。基本上,用户将按下EHR中的一个按钮,期望它们随后自动登录到我的应用程序(该应用程序显示在EHR客户端的浏览器框架中)。

目前,我使用的是一个在浏览器中运行的JS库(https://github.com/smart-on-fhir/client-js),它管理着OIDC授权代码流。我的一切都通过浏览器运行得很好,并且能够最终检索OIDC令牌。

一旦我有了ID令牌,我就需要能够使用它来匹配我的系统中的特定用户。为此,我需要将令牌传递到应用程序的后端API,以便验证令牌,然后将其用于提取查找/创建用户并将其登录所需的信息。

在将OIDC令牌从浏览器传递到应用程序的API时,是否存在任何安全问题或考虑因素?

FYI,我确实具备了使用EHR授权服务器提供的旋转、非对称密钥验证每个OIDC规范的ID令牌的功能。

EN

回答 2

Security用户

发布于 2020-10-02 21:22:24

id_token的目的是让您的应用程序充当OIDC客户端。根据令牌声明在应用程序中定位用户属于“内容”的定义。来自OIDC规范:

OpenID连接以安全的方式将服务器执行的身份验证结果返回给客户端,以便客户端可以依赖它

“安全”和“安全关切/考虑”意味着一种价值判断。衡量某一特定行动的影响需要一个威胁模式。好消息:已经完成了在OpenID连接上做了大量的威胁建模工作。坏消息:很复杂哦

票数 1
EN

Security用户

发布于 2020-10-13 11:44:58

只要:

  • 您的令牌ids寿命短,不易被盗(js、注入等)。
  • 您的js应用程序使用PKCE,并且在某个地方没有代码流秘密,
  • 你用state+nonce,
  • 您的IP提供RS256或更高版本的旋转jwks来进行令牌验证,
  • 您的api使用jwks端点获取公钥,并根据OIDC规范验证id令牌,您应该没事。
票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/238501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档