【实战干货】前端实现 jira sso 单点登录

1,559 阅读1分钟

需求:

我的系统要集成 jira sso

提前准备:

你需要提前了解到 oauth2 单点登录的流程,从而在后续重点关注你所需要copy 的一些数据!

步骤:

1.进入开发者中心 developer.atlassian.com/console/mya…

2.创建自己的app

3.设置登录成功之后的回调地址,以及 copy jira 登录地址

image.png

4.找到 client id。secret 信息,copy

image.png

5.把提前 copy 的信息写在配置文件里

image.png

6.使用

  • 先去 jira 登录
  • 登录成功,jira 跳转到提前设置的回调地址,并且携带 code,保存好 code
  • 拿着 node 去获取 jira 的 access token,保存access token
const res = await fetch('https://auth.atlassian.com/oauth/token', {
    method: 'post',
    headers: {
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        "grant_type": "authorization_code",
        "code": jiraCode,
        "client_id": getJiraConfig().client_id,
        "client_secret": getJiraConfig().client_secret,
        "redirect_uri": getJiraConfig().redirect_uri
    })
}).then(res => res.json())
  • 拿着 access token 去获取该登录用户的信息
return fetch('https://api.atlassian.com/me', {
    method: 'get',
    headers: {
        "Authorization": `Bearer ${localStorage.getItem('accessToken')}`,
        "Accept": "application/json"
    }
}).then(res => res.json())

以及干一些其他的事🤣