0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-10 22:22:45 -05:00

fix(console): profile social linking in cloud env should use correct URL without double slashes (#3300)

This commit is contained in:
Charles Zhao 2023-03-06 18:32:28 +08:00 committed by GitHub
parent 5cfbe87a04
commit 11471c4308
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -49,8 +49,9 @@ const LinkAccountSection = ({ user, onUpdate }: Props) => {
const getSocialAuthorizationUri = useCallback(
async (connectorId: string) => {
const adminTenantEndpointUrl = new URL(adminTenantEndpoint);
const state = buildIdGenerator(8)();
const redirectUri = `${adminTenantEndpoint}/callback/${connectorId}`;
const redirectUri = new URL(`/callback/${connectorId}`, adminTenantEndpointUrl).toString();
const { redirectTo } = await api
.post('me/social/authorization-uri', { json: { connectorId, state, redirectUri } })
.json<{ redirectTo: string }>();
@ -67,6 +68,8 @@ const LinkAccountSection = ({ user, onUpdate }: Props) => {
return [];
}
const adminTenantEndpointUrl = new URL(adminTenantEndpoint);
return connectors.map(({ id, name, logo, logoDark, target }) => {
const logoSrc = theme === AppearanceMode.DarkMode && logoDark ? logoDark : logo;
const relatedUserDetails = user.identities[target]?.details;
@ -108,7 +111,7 @@ const LinkAccountSection = ({ user, onUpdate }: Props) => {
const authUri = await getSocialAuthorizationUri(id);
const callback = new URL(
`${getBasename()}/handle-social`,
`${adminTenantEndpoint}`
adminTenantEndpointUrl
).toString();
const queries = new URLSearchParams({
@ -118,7 +121,7 @@ const LinkAccountSection = ({ user, onUpdate }: Props) => {
});
const newWindow = popupWindow(
`${adminTenantEndpoint}/springboard?${queries.toString()}`,
new URL(`/springboard?${queries.toString()}`, adminTenantEndpointUrl).toString(),
'Link social account with Logto',
600,
640