feat: Add secret OIDC account linking support

This commit is contained in:
Jesse Wierzbinski 2024-05-12 18:33:53 -10:00
parent 32c13d4c99
commit 9632aadbde
No known key found for this signature in database

View file

@ -42,10 +42,12 @@
<script setup lang="ts"> <script setup lang="ts">
import { OverlayScrollbarsComponent } from "#imports"; import { OverlayScrollbarsComponent } from "#imports";
const tokenData = useTokenData();
const { width } = useWindowSize(); const { width } = useWindowSize();
const { n } = useMagicKeys(); const { n, o_i_d_c } = useMagicKeys();
const tokenData = useTokenData();
const client = useMegalodon(tokenData);
const providers = await useOAuthProviders();
watchEffect(async () => { watchEffect(async () => {
if (n.value) { if (n.value) {
@ -53,5 +55,21 @@ watchEffect(async () => {
await new Promise((resolve) => setTimeout(resolve, 50)); await new Promise((resolve) => setTimeout(resolve, 50));
useEvent("composer:open"); useEvent("composer:open");
} }
if (o_i_d_c.value) {
const response = await fetch(
new URL(
`/oauth/link?issuer=${providers.value[0].id}`,
client.value?.baseUrl,
),
{
headers: {
Authorization: `Bearer ${tokenData.value?.access_token}`,
},
},
);
const json = await response.json();
window.location.href = json.link;
}
}); });
</script> </script>