第一方主应用程序的 OpenID/OAuth2.0 替代方案,无需重定向到登录页面?

问题描述

  1. 我想知道在不将用户重定向到 OpenID 登录页面的情况下,是否存在用于公共 SPA 等第一方应用程序的 OpenID/Oauth2.0 替代方案? 我知道存在密码授予类型,但如 Oauth2.0 文档中所述,它已被弃用。

  2. 如果没有替代解决方案,我自己只实现没有 OpenID 的 JWT 颁发者(身份验证)服务是否是一个不错的选择?它还会安全吗?如果是,那么我应该考虑哪些细节?

解决方法

如果您有一个仅与后端对话的第一方应用程序,那么使用会话应该就足够了。您不需要实现 OAuth 和 JWT,使用会话可以解决一些有关令牌的安全问题(例如,如何将它们安全地存储在浏览器中)。

如果您决定使用访问令牌,我强烈建议您实施 OAuth 或 OIDC,因为这将缓解一些常见的安全漏洞。