mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-15 03:33:49 +08:00
Fix WeChat MP login "state too long" bug
This commit is contained in:
@ -126,15 +126,27 @@ export function getOAuthGetParameters(params) {
|
||||
}
|
||||
}
|
||||
|
||||
export function getStateFromQueryParams(applicationName, providerName, method) {
|
||||
export function getStateFromQueryParams(applicationName, providerName, method, isShortState) {
|
||||
let query = window.location.search;
|
||||
query = `${query}&application=${applicationName}&provider=${providerName}&method=${method}`;
|
||||
if (method === "link") {
|
||||
query = `${query}&from=${window.location.pathname}`;
|
||||
}
|
||||
return btoa(query);
|
||||
|
||||
if (!isShortState) {
|
||||
return btoa(query);
|
||||
} else {
|
||||
const state = providerName;
|
||||
sessionStorage.setItem(state, query);
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
||||
export function getQueryParamsFromState(state) {
|
||||
return atob(state);
|
||||
const query = sessionStorage.getItem(state);
|
||||
if (query === null) {
|
||||
return atob(state);
|
||||
} else {
|
||||
return query;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user