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

需求:

我的系统要集成 jira sso

提前准备:

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

步骤:

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

2.创建自己的app

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

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

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

6.使用

  • 先去 jira 登录
  • 登录成功,jira 跳转到提前设置的回调地址,并且携带 code,保存好 code
  • 拿着 node 去获取 jira 的 access token,保存access token
javascript 复制代码
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 去获取该登录用户的信息
javascript 复制代码
return fetch('https://api.atlassian.com/me', {
    method: 'get',
    headers: {
        "Authorization": `Bearer ${localStorage.getItem('accessToken')}`,
        "Accept": "application/json"
    }
}).then(res => res.json())

以及干一些其他的事🤣

相关推荐
@AfeiyuO4 分钟前
Vue 引入全局样式scss
前端·vue·scss
光影少年7 分钟前
flex布局和grid布局区别,实现两边固定布局中间自适应
前端·css3·web·ai编程
全栈测试笔记36 分钟前
异步函数与异步生成器
linux·服务器·前端·数据库·python
EndingCoder1 小时前
配置 tsconfig.json:高级选项
linux·前端·ubuntu·typescript·json
木风小助理1 小时前
JavaStreamAPI的性能审视,优雅语法背后的隐形成本与优化实践
java·前端·数据库
white-persist2 小时前
轻松抓包微信小程序:Proxifier+Burp Suite教程
前端·网络·安全·网络安全·微信小程序·小程序·notepad++
敲敲了个代码3 小时前
多标签页强提醒不重复打扰:从“弹框轰炸”到“共享待处理队列”的实战
java·前端·javascript·面试·架构
不想上班只想要钱3 小时前
动态类名在 <swiper-slide 的复制项中没有起作用的解决方法
前端·vue.js
weixin_395448914 小时前
tidl_import_mul_rmfsd_psd_u8_3x480x544_bise_raw_dynamic.txt
java·服务器·前端
Jinuss4 小时前
源码分析之React中updateContainerImpl方法更新容器
前端·react.js·前端框架