我想知道对于公共 SPA 等第一方应用程序是否存在 OpenID/Oauth2.0 的替代方案,而无需将用户重定向到 OpenID 登录页面? 我知道存在密码授予类型,但它已被弃用,如 Oauth2.0 文档中所写。
如果没有替代解决方案,我自己只实现 JWT 颁发者(身份验证)服务而不使用 OpenID 是一个不错的选择吗?它仍然安全吗?如果是,那么我应该考虑哪些细节?
如果您有一个第一方应用程序,它只与您的后端通信,那么使用会话就足够了。您不需要实现 OAuth 和 JWT,并且使用会话可以解决一些令牌的安全问题(例如,如何将它们安全地存储在浏览器中)。
如果您决定使用访问令牌,我强烈建议您实施 OAuth 或 OIDC,因为这将缓解一些常见的安全漏洞。