vue.js - 在 Vue.js 下实现 MSAL 2 `loginRedirect`
问题描述
我正在尝试了解handleRedirectPromise
MSAL 2.0 的登录/注销流程,特别是使用 Vue.js。
我们基于https://github.com/benc-uk/msal-graph-vueloginPopup
使用andf实现了 MSAL 的工作实现logoutPopup
这是我们login
在 Vue 主页中的调用
async login () {
await auth.login()
console.log('aaa')
this.user = auth.user()
}
它调用以下例程并按预期auth.service
填充对象。user
async login () {
if (!msalApp) {
return
}
await msalApp.loginPopup({
scopes,
prompt: 'select_account'
})
},
转移到loginRedirect
需要我们注册一个处理程序handleRedirectPromise()
- 据我了解,像这样
# truncated MSAL registration
...
function handleResponse (response) {
if (response) {
console.log('logged in')
} else {
console.log('logged out')
}
}
msalApp = new msal.PublicClientApplication(config)
msalApp.handleRedirectPromise().then(handleResponse)
},
当我单击登录/注销按钮时触发上述内容,但每当我重新加载页面时也会触发。
具体问题是在Login时我们永远不会返回到login
Vue页面的初始方法,所以在确认登录后不要设置该user
对象。
解决方案
推荐阅读
- mysql - MYSQL 关于如何将值插入特定的列表
- c - 附加到字符串宏
- neo4j - 使用 LOAD CSV 在 neo4j 中加载不同类型的节点
- java - 在区块链中,每个节点都有单独的块数据副本。如果我的机器没有那么多空间那么它是如何工作的?
- google-cloud-platform - 在不使用 SSH 的情况下查看 GCP 启动脚本日志
- java - 如何从 JAVA/JSP 检查图像是否存储在数据库中?
- java - 春季批处理写入器限制
- node.js - 错误:在 res.render() 调用后发送标头后无法设置标头
- angular - 如果 routerLink 相同,是否支持重新加载页面
- ubuntu - notepad-plus-plus snap 无法在 Ubuntu 上启动