首页 > 解决方案 > Atlassian Connect Express:使用 JSX 渲染器时无法与受保护的路由交互

问题描述

我正在使用 ACE,但似乎无法以任何方式与受保护的路由进行交互。自述文件建议: <a href="/protected-resource?jwt={{token}}">See more</a>

由于我没有使用车把而是根据文档使用 JSX,所以我不能那样做。

我尝试通过道具传递令牌,req.context.token但如果我称它为令牌,它就不会通过。我将它重命名为它t并通过但现在我收到错误Unauthorized: Invalid JWT: Not enough or too many JWT token segments; should be 3

我的基本概念证明由以下部分组成:

路线/index.js

app.get('/pulse', addon.authenticate(), (req,res)=> {
     res.json({status: 200, message: 'permission granted'})
})

app.get('/jql-mode', addon.authenticate(), (req, res) => {
    const {userAccountId, hostBaseUrl, token} = req.context;

    res.render(
        'jql-mode.jsx',
        {
            title: 'Prioritizr - JQL Mode',
            t:token,
        }
    )
}

意见/jql-mode.jsx

export default function JQLMode({ t }) {
    return <a href={`/pulse?jwt=${t}`}>Pulse</a>
}

我也刚刚尝试放入<meta name="token" content="{{token}}">内部views/react-layout.hbs,但它给了我同样被拒绝的令牌Unauthorized: Invalid JWT: Not enough or too many JWT token segments; should be 3

标签: jwtatlassian-connect

解决方案


推荐阅读