29 lines
718 B
JavaScript
29 lines
718 B
JavaScript
module.exports = async function(key = true) {
|
||
if (this.authInfo) { // 多次执行auth时如果第一次成功后续不再执行
|
||
return;
|
||
}
|
||
// 获取请求参数
|
||
const params = this.getParams();
|
||
// 获取token
|
||
let token = this.getUniIdToken();
|
||
// 如果没有token,尝试从参数中获取
|
||
if (!token && params[0]) {
|
||
token = params[0].uniIdToken || params[0].uni_id_token;
|
||
}
|
||
const payload = await this.uniIdCommon.checkToken(token);
|
||
if (payload.errCode) {
|
||
if (key) {
|
||
throw payload;
|
||
} else {
|
||
return;
|
||
}
|
||
}
|
||
this.authInfo = payload;
|
||
if (payload.token && typeof this.response === "object") {
|
||
this.response.newToken = {
|
||
token: payload.token,
|
||
tokenExpired: payload.tokenExpired
|
||
}
|
||
}
|
||
}
|