alen_george
12/06/2022, 7:54 AMrp_st
12/06/2022, 7:58 AMrp_st
12/06/2022, 7:58 AMalen_george
12/06/2022, 7:59 AMalen_george
12/06/2022, 7:59 AMrp_st
12/06/2022, 7:59 AMalen_george
12/06/2022, 8:00 AMsattvikc
12/06/2022, 8:00 AMalen_george
12/06/2022, 8:01 AMsattvikc
12/06/2022, 8:01 AMalen_george
12/06/2022, 8:01 AMsattvikc
12/06/2022, 8:23 AMts
ThirdParty.init({
signInAndUpFeature: {
providers: [
Apple({
clientId: "...",
clientSecret: {
keyId: "...",
teamId: "...",
privateKey: "..."
}
})
],
},
override: {
apis: (oI) => ({
...oI,
appleRedirectHandlerPOST: async (input) => {
const redirectURL = `https://blocksurvey.io/signup?code=${input.code}&state=${input.state}`
input.options.res.sendHTMLResponse(`<html><head><script>window.location.replace("${redirectURL}");</script></head></html>`)
},
})
}
})
sattvikc
12/06/2022, 8:25 AMsattvikc
12/06/2022, 8:25 AMalen_george
12/06/2022, 8:29 AMalen_george
12/06/2022, 8:29 AMalen_george
12/06/2022, 8:29 AMsattvikc
12/06/2022, 8:29 AMalen_george
12/06/2022, 8:31 AMsattvikc
12/06/2022, 8:31 AMalen_george
12/06/2022, 8:32 AMsattvikc
12/06/2022, 8:33 AMalen_george
12/06/2022, 8:34 AMalen_george
12/06/2022, 8:34 AMsattvikc
12/06/2022, 8:36 AMalen_george
12/06/2022, 8:36 AMsattvikc
12/06/2022, 8:38 AMsattvikc
12/06/2022, 8:39 AMalen_george
12/06/2022, 8:39 AMsattvikc
12/06/2022, 8:40 AMalen_george
12/06/2022, 8:40 AMsattvikc
12/06/2022, 8:42 AMalen_george
12/06/2022, 8:42 AMsattvikc
12/06/2022, 8:43 AMalen_george
12/06/2022, 8:43 AMconst authUrl = await getThirdPartyAuthorisationURLWithQueryParamsAndSetState({
providerId: provider,
authorisationURL: Constants.DOMAIN_URL + "/signup",
});
alen_george
12/06/2022, 8:43 AMsattvikc
12/06/2022, 8:44 AMalen_george
12/06/2022, 8:44 AMsattvikc
12/06/2022, 8:44 AMalen_george
12/06/2022, 8:44 AMalen_george
12/06/2022, 8:45 AMauthorisationURL: Constants.DOMAIN_URL + "/signup",
this should be same for all providers and this is what I'm expectingsattvikc
12/06/2022, 8:53 AMsattvikc
12/06/2022, 8:53 AMsattvikc
12/06/2022, 8:53 AMts
let authURL = "...";
if (provider === 'apple') {
var url = new URL(authURL);
var search_params = url.searchParams;
search_params.set('redirect_uri', Constants.DOMAIN_URL + "/signup");
url.search = search_params.toString();
authURL = url.toString();
}
alen_george
12/06/2022, 9:01 AMalen_george
12/06/2022, 9:01 AMalen_george
12/06/2022, 9:02 AMalen_george
12/06/2022, 9:13 AMalen_george
12/06/2022, 9:23 AMError: SuperTokens core threw an error for a GET request to path: '/recipe/user' with status code: 400 and message: Please provide exactly one of userId, email or phoneNumber
at Querier.<anonymous> (C:\BlockSurvey Projects\blocksurvey-supertoken-function\node_modules\supertokens-node\lib\build\querier.js:252:31)
at Generator.throw (<anonymous>)
at rejected (C:\BlockSurvey Projects\blocksurvey-supertoken-function\node_modules\supertokens-node\lib\build\querier.js:22:44)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
rp_st
12/06/2022, 9:33 AMalen_george
12/06/2022, 9:34 AMconst response = await thirdPartySignInAndUp();
alen_george
12/06/2022, 9:38 AMrp_st
12/06/2022, 9:40 AMalen_george
12/06/2022, 9:40 AMrp_st
12/06/2022, 9:40 AMrp_st
12/06/2022, 9:41 AMrp_st
12/06/2022, 9:41 AMrp_st
12/06/2022, 9:41 AMalen_george
12/06/2022, 9:41 AMrp_st
12/06/2022, 9:42 AMalen_george
12/06/2022, 9:42 AMalen_george
12/06/2022, 9:53 AMrp_st
12/06/2022, 9:54 AMrp_st
12/06/2022, 9:54 AMalen_george
12/06/2022, 9:55 AMalen_george
12/06/2022, 9:56 AMthirdPartySignInUp: async function (input) {
let existingUsers = await ThirdPartyPasswordless.getUsersByEmail(input.email);
if (existingUsers.length === 0) {
// this means this email is new so we allow sign up
return originalImplementation.thirdPartySignInUp(input);
}
if (existingUsers.find(i => "email" in i && "thirdParty" in i && i.thirdParty.id === input.thirdPartyId && i.thirdParty.userId === input.thirdPartyUserId)) {
// this means we are trying to sign in with the same social login. So we allow it
return originalImplementation.thirdPartySignInUp(input);
}
// this means that the email already exists with another social or passwordless login method, so we throw an error.
throw new Error("Cannot sign up as email already exists");
}
rp_st
12/06/2022, 9:57 AMalen_george
12/06/2022, 9:57 AMrp_st
12/06/2022, 9:58 AMinput.email
alen_george
12/06/2022, 9:59 AMrp_st
12/06/2022, 9:59 AMrp_st
12/06/2022, 9:59 AMalen_george
12/06/2022, 10:00 AMrp_st
12/06/2022, 10:00 AMrp_st
12/06/2022, 10:00 AMalen_george
12/06/2022, 10:01 AMrp_st
12/06/2022, 10:01 AMalen_george
12/06/2022, 10:01 AMrp_st
12/06/2022, 10:01 AMalen_george
12/06/2022, 10:01 AMalen_george
12/06/2022, 10:01 AMrp_st
12/06/2022, 10:02 AMinput
object?alen_george
12/06/2022, 10:02 AMrp_st
12/06/2022, 10:02 AMalen_george
12/06/2022, 10:05 AMrp_st
12/06/2022, 10:06 AMalen_george
12/06/2022, 10:06 AMrp_st
12/06/2022, 10:07 AMalen_george
12/06/2022, 10:07 AMrp_st
12/06/2022, 10:07 AMrp_st
12/06/2022, 10:07 AMalen_george
12/06/2022, 10:08 AMrp_st
12/06/2022, 10:08 AMalen_george
12/06/2022, 10:09 AMrp_st
12/06/2022, 10:10 AMrp_st
12/06/2022, 10:10 AMalen_george
12/06/2022, 10:10 AMsattvikc
12/06/2022, 10:10 AMsattvikc
12/06/2022, 10:11 AMsattvikc
12/06/2022, 10:11 AMalen_george
12/06/2022, 10:11 AMalen_george
12/06/2022, 10:55 AMalen_george
12/06/2022, 10:55 AMalen_george
12/06/2022, 10:55 AMrp_st
12/06/2022, 10:55 AMalen_george
12/06/2022, 10:56 AMalen_george
12/06/2022, 10:56 AMrp_st
12/06/2022, 11:01 AMalen_george
12/06/2022, 11:02 AMalen_george
12/06/2022, 2:10 PMalen_george
12/06/2022, 2:10 PMalen_george
12/06/2022, 2:14 PMhttps://blocksurvey.io/signup?code=${input.code}&state=${input.state}
input.options.res.sendHTMLResponse(<html><head><script>window.location.replace("${redirectURL}");</script></head></html>
)
},`rp_st
12/06/2022, 2:20 PMalen_george
12/06/2022, 2:20 PMrp_st
12/06/2022, 2:21 PMalen_george
12/06/2022, 2:21 PMrp_st
12/06/2022, 2:21 PMalen_george
12/06/2022, 2:21 PMalen_george
12/06/2022, 2:21 PMsattvikc
12/06/2022, 2:23 PMalen_george
12/06/2022, 2:23 PMalen_george
12/06/2022, 2:23 PMsattvikc
12/06/2022, 2:23 PMalen_george
12/06/2022, 2:24 PMrp_st
12/06/2022, 2:24 PMrp_st
12/06/2022, 2:24 PMalen_george
12/06/2022, 2:24 PMalen_george
12/07/2022, 3:54 AMalen_george
12/07/2022, 3:54 AMrp_st
12/07/2022, 4:04 AMsattvikc
12/07/2022, 4:07 AMsattvikc
12/07/2022, 4:11 AMsattvikc
12/07/2022, 4:12 AMalen_george
12/07/2022, 4:14 AMsattvikc
12/07/2022, 4:14 AMalen_george
12/07/2022, 4:18 AMalen_george
12/07/2022, 4:18 AMsattvikc
12/07/2022, 4:20 AMrp_st
12/07/2022, 4:41 AMalen_george
12/07/2022, 4:45 AMalen_george
12/07/2022, 4:45 AMalen_george
12/07/2022, 4:46 AMrp_st
12/07/2022, 4:47 AMrp_st
12/07/2022, 4:47 AMalen_george
12/07/2022, 4:47 AMalen_george
12/07/2022, 4:47 AMrp_st
12/07/2022, 4:48 AMalen_george
12/07/2022, 4:48 AMrp_st
12/07/2022, 4:48 AMalen_george
12/07/2022, 4:49 AMsattvikc
12/07/2022, 4:49 AMalen_george
12/07/2022, 4:49 AMalen_george
12/07/2022, 5:07 AMalen_george
12/07/2022, 5:08 AMsattvikc
12/07/2022, 5:10 AMalen_george
12/07/2022, 5:10 AMalen_george
12/07/2022, 5:10 AMconst corsOptions = {
origin: (origin, callback) => {
if (whitelist.indexOf(origin) !== -1 || origin.indexOf('.blocksurvey.io') !== -1) {
return callback(null, true)
} else {
return callback(new Error('Not allowed by CORS'))
}
}
}
sattvikc
12/07/2022, 5:11 AMalen_george
12/07/2022, 5:12 AMalen_george
12/07/2022, 5:13 AMsattvikc
12/07/2022, 5:13 AMsattvikc
12/07/2022, 5:14 AMalen_george
12/07/2022, 5:15 AMalen_george
12/07/2022, 5:15 AMsattvikc
12/07/2022, 5:16 AMalen_george
12/07/2022, 5:25 AMalen_george
12/07/2022, 5:25 AMalen_george
12/07/2022, 5:25 AMsattvikc
12/07/2022, 5:32 AMsattvikc
12/07/2022, 5:32 AMsattvikc
12/07/2022, 5:34 AMalen_george
12/07/2022, 5:56 AMsattvikc
12/07/2022, 6:00 AMalen_george
12/07/2022, 6:00 AMsattvikc
12/07/2022, 6:02 AMalen_george
12/07/2022, 8:08 AM