Ich habe getRedirectResult in onMount aufgerufen und wenn es null zurückgibt, dann rufe ich signInWithRedirect und getRedirectResult erneut auf.
Ich bestätige, dass die Seite nach der Authentifizierung von Microsoft umgeleitet wird.
Und ich baue die App ein localhost.
Code: Select all
// +layout.svelte
$effect(() => {
if (!auth$.isSignedIn) {
auth$.msSignIn()
}
})
onMount(async () => {
if(!auth$.isSignedIn){
const res = await auth$.msGetResult()
if (res) await goto('/photos')
}
})
Code: Select all
export const msSignInEffect =
(auth: Auth): MsSignInEffect =>
async () => {
const provider = new OAuthProvider('microsoft.com')
provider.setCustomParameters({
tenant: '{my tenantId}'
});
await signInWithRedirect(auth, provider, browserPopupRedirectResolver);
return null;
}
export const msGetResultEffect =
(auth: Auth): MsGetResultEffect =>
async () => {
try {
const result = await getRedirectResult(auth, browserPopupRedirectResolver);
if (result) {
newMe(result.user);
return newMe(result.user);
}
return null;
} catch (error) {
console.error("Error during redirect result:", error);
return null;
}
}
Mobile version