fix(auth): improve oauth flow, fix invite flow (with google), add copy invite link
This commit is contained in:
@@ -42,6 +42,12 @@ export const authRouter = createTRPCRouter({
|
||||
.mutation(({ input, ctx }) => {
|
||||
const { provider } = input;
|
||||
|
||||
if (input.inviteId) {
|
||||
ctx.setCookie('inviteId', input.inviteId, {
|
||||
maxAge: 60 * 10,
|
||||
});
|
||||
}
|
||||
|
||||
if (provider === 'github') {
|
||||
const state = Arctic.generateState();
|
||||
const url = github.createAuthorizationURL(state, [
|
||||
@@ -49,17 +55,6 @@ export const authRouter = createTRPCRouter({
|
||||
'user:read',
|
||||
]);
|
||||
|
||||
// if we have an inviteId we want to add it to the redirect url
|
||||
// so we have this information in the callback url later
|
||||
if (input.inviteId) {
|
||||
const redirectUri = url.searchParams.get('redirect_uri');
|
||||
if (redirectUri) {
|
||||
const redirectUrl = new URL(redirectUri);
|
||||
redirectUrl.searchParams.set('inviteId', input.inviteId);
|
||||
url.searchParams.set('redirect_uri', redirectUrl.toString());
|
||||
}
|
||||
}
|
||||
|
||||
ctx.setCookie('github_oauth_state', state, {
|
||||
maxAge: 60 * 10,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user