我可以仅通过前端应用程序使用 OAuth 2.0 服务(如 Jira API)吗?

问题描述 投票:0回答:1

这似乎应该是一个简单的问题,但由于某种原因,我无法找到明确的答案或无法理解更大的概念。

我希望使用 OAuth2 对 Jira Cloud 实例进行 API 调用(遵循此处的 Jira 文档:https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/)并且我不清楚我是否可以仅使用前端应用程序(在我的例子中是 Angular)来完成此操作,或者我是否需要在服务器上使用自己的后端应用程序来完成此操作。 Atlassian 文档页面上的两张图片清楚地表明我不需要 Node 服务器之类的东西来实现这一点,但是当我在 Google 上寻找教程或示例时,我没有找到任何东西。 有没有任何人都知道的示例或存储库可供我查看?

非常感谢所有帮助!

您可以使用纯 JavaScript 为某些提供商实现基于 OAuth 2.0 的登录。 JS 代码需要发送类似于

我的博文
angular oauth-2.0 jira
1个回答
0
投票

客户端身份验证

然而 Atlassian 需要客户端密钥,并且浏览器中没有安全的地方可以存储它,因此您需要使用后端组件提供它。 您的应用程序可以通过实用程序 API 或您自己的授权服务器 (AS) 与 Atlassian 连接。在后一种情况下,AS 可以提供 Atlassian 客户端密钥,并且从前端到 AS 的连接可以使用 PKCE。

浏览器最佳实践

如今,建议基于浏览器的应用程序使用后端作为前端,例如实用程序 API,作为其 OAuth 流程的一部分。这可以使令牌远离浏览器,并减少跨站点脚本攻击的影响。 BFF 还提供 OAuth 客户端凭据。

您的情况

我将首先开发一个小型后端组件来协助您的前端。这不需要更改 Angular 应用程序的架构。

© www.soinside.com 2019 - 2024. All rights reserved.