mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-04 21:30:24 +08:00
feat: support mobile login with WeChat Official Accounts (#383)
* fix: adjust the accessToken field Signed-off-by: 0x2a <stevesough@gmail.com> * fix: missing name and owner Signed-off-by: 0x2a <stevesough@gmail.com> * feat: support mobile login with WeChat Signed-off-by: 0x2a <stevesough@gmail.com>
This commit is contained in:
@ -33,6 +33,8 @@ const authInfo = {
|
||||
WeChat: {
|
||||
scope: "snsapi_login",
|
||||
endpoint: "https://open.weixin.qq.com/connect/qrconnect",
|
||||
slientScope: "snsapi_userinfo",
|
||||
silentEndpoint: "https://open.weixin.qq.com/connect/oauth2/authorize"
|
||||
},
|
||||
Facebook: {
|
||||
scope: "email,public_profile",
|
||||
@ -198,7 +200,13 @@ export function getAuthUrl(application, provider, method) {
|
||||
} else if (provider.type === "QQ") {
|
||||
return `${endpoint}?client_id=${provider.clientId}&redirect_uri=${redirectUri}&scope=${scope}&response_type=code&state=${state}`;
|
||||
} else if (provider.type === "WeChat") {
|
||||
return `${endpoint}?appid=${provider.clientId}&redirect_uri=${redirectUri}&scope=${scope}&response_type=code&state=${state}#wechat_redirect`;
|
||||
if (provider.method === "Silent") {
|
||||
return `${authInfo[provider.type].silentEndpoint}?appid=${provider.clientId}&redirect_uri=${redirectUri}&state=${state}&scope=${authInfo[provider.type].slientScope}&response_type=code#wechat_redirect`;
|
||||
} else if (provider.method === "Normal") {
|
||||
return `${endpoint}?appid=${provider.clientId}&redirect_uri=${redirectUri}&scope=${scope}&response_type=code&state=${state}#wechat_redirect`;
|
||||
} else {
|
||||
return `https://error:not-supported-provider-method:${provider.method}`;
|
||||
}
|
||||
} else if (provider.type === "Facebook") {
|
||||
return `${endpoint}?client_id=${provider.clientId}&redirect_uri=${redirectUri}&scope=${scope}&response_type=code&state=${state}`;
|
||||
} else if (provider.type === "DingTalk") {
|
||||
|
Reference in New Issue
Block a user