Atlassian Connect 是一个在 Atlassian 系统和插件间建立识别和授权的规范。passport-atlassian-connect 作为一个基于 Passport.js 的 Atlassian Connect 认证包,可以帮助我们创建一个支持 Atlassian 认证的应用程序。
在本文中,我们将介绍如何通过 npm 包 passport-atlassian-connect 在 Node.js 中使用 Atlassian Connect 认证。
什么是 Atlassian Connect 认证?
Atlassian Connect 认证是一种用于验证 Atlassian Marketplace 应用程序的身份的方式。通过应用程序对 Atlassian Connect API 的调用,可以在 Atlassian 平台上生成令牌并验证令牌,从而实现用户身份的认证。
使用 passport-atlassian-connect 包
Passport.js 是一个在 Node.js 中使用的认证中间件。passport-atlassian-connect 是一个基于 Passport.js 的 Atlassian Connect 认证包,可以帮助我们快速地设置和验证 Atlassian Connect 认证。
首先,我们需要安装 passport-atlassian-connect 包及其依赖项:
npm install passport-atlassian-connect express
然后,我们需要引入和初始化 passport-atlassian-connect 包:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - -------------------- ----- ------------------------ - ----------------------------------------------- -- --------- ------- -- ----- --------- - - ---------- ------------------- ------------- ----------------------------- ------------ - ------------ ---------------------------- ----------- --------------------------- -------- ------------------------------------- -- -- -- ------ ---------------- ------------------------------------- -- ------- ----- --- - ---------- -------------------------------
我们需要提供 Atlassian Connect 的配置参数来初始化 Atlassian Connect 认证策略。这些参数包括应用程序密钥、共享密钥以及 OAuth 配置。然后,我们可以通过 passport.use(...) 方法将认证策略添加到 Passport.js 中。
接下来,我们可以使用 passport.authenticate(...) 方法在路由中实现 Atlassian Connect 认证。例如,我们可以将该方法添加到我们的 /callback 路由中:
app.get('/callback', passport.authenticate('atlassian-connect'), (req, res) => { // 认证成功的回调方法 res.send('Hello World!'); });
在该路由中,我们使用 passport.authenticate(...) 方法来启动 Atlassian Connect 认证过程。该方法将会检查用于验证请求的参数,并将用户跳转至 Atlassian 平台以请求令牌进行验证。如果令牌验证成功,则请求将被重定向回我们的 /callback 路由,并执行用户自定义的回调方法。
最后,我们需要将 Atlassian Connect 认证包导出至我们的应用程序中。以下是完整的示例代码:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - -------------------- ----- ------------------------ - ----------------------------------------------- -- --------- ------- -- ----- --------- - - ---------- ------------------- ------------- ----------------------------- ------------ - ------------ ---------------------------- ----------- --------------------------- -------- ------------------------------------- -- -- -- ------ ---------------- ------------------------------------- -- ------- ----- --- - ---------- ------------------------------- -- --------- ------- ---- -------------------- ------------------------------------------- ----- ---- -- - -- --------- --------------- --------- --- -- -- ---- --- ---------------- -- -- ------------------- ------------
结论
通过本教程,我们了解了如何使用 npm 包 passport-atlassian-connect 快速集成 Atlassian Connect 认证到我们的 Node.js 应用程序中。现在,我们可以在 Atlassian 平台上为我们的应用程序提供安全身份认证。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005663781e8991b448e22ab