Skip to content

Commit ea3e781

Browse files
committed
platform agnostic login link oauth + otp prevalid
1 parent 9487d1f commit ea3e781

File tree

5 files changed

+12
-13
lines changed

5 files changed

+12
-13
lines changed

Thirdweb/Thirdweb.Wallets/InAppWallet/EmbeddedWallet.Authentication/AWS.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ internal class AWS
1010
private const string cognitoAppClientId = "2e02ha2ce6du13ldk8pai4h3d0";
1111
private static readonly string cognitoIdentityPoolId = $"{awsRegion}:2ad7ab1e-f48b-48a6-adfa-ac1090689c26";
1212
private static readonly string cognitoUserPoolId = $"{awsRegion}_UFwLcZIpq";
13-
private static readonly string recoverySharePasswordLambdaFunctionName = "arn:aws:lambda:us-west-2:324457261097:function:recovery-share-password-GenerateRecoverySharePassw-bbE5ZbVAToil";
13+
private static readonly string recoverySharePasswordLambdaFunctionName = $"arn:aws:lambda:{awsRegion}:324457261097:function:recovery-share-password-GenerateRecoverySharePassw-bbE5ZbVAToil";
1414

1515
internal static async Task SignUpCognitoUserAsync(string emailAddress, string userName, Type thirdwebHttpClientType)
1616
{

Thirdweb/Thirdweb.Wallets/InAppWallet/EmbeddedWallet.Authentication/Server.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ internal abstract class ServerBase
1818

1919
internal abstract Task<(string authShare, string recoveryShare)> FetchAuthAndRecoverySharesAsync(string authToken);
2020
internal abstract Task<string> FetchAuthShareAsync(string authToken);
21-
internal abstract Task<string> FetchHeadlessOauthLoginLinkAsync(string authProvider);
21+
internal abstract Task<string> FetchHeadlessOauthLoginLinkAsync(string authProvider, string platform);
2222

2323
internal abstract Task<bool> CheckIsEmailKmsOtpValidAsync(string userName, string otp);
2424
internal abstract Task<bool> CheckIsEmailUserOtpValidAsync(string emailAddress, string otp);
@@ -177,13 +177,13 @@ private async Task<IdTokenResponse> FetchCognitoIdTokenAsync(string authToken)
177177
}
178178

179179
// embedded-wallet/headless-oauth-login-link
180-
internal override async Task<string> FetchHeadlessOauthLoginLinkAsync(string authProvider)
180+
internal override async Task<string> FetchHeadlessOauthLoginLinkAsync(string authProvider, string platform)
181181
{
182182
var uri = MakeUri(
183183
"/embedded-wallet/headless-oauth-login-link",
184184
new Dictionary<string, string>
185185
{
186-
{ "platform", "unity" },
186+
{ "platform", platform },
187187
{ "authProvider", authProvider },
188188
{ "baseUrl", "https://embedded-wallet.thirdweb.com" }
189189
}

Thirdweb/Thirdweb.Wallets/InAppWallet/EmbeddedWallet/EmbeddedWallet.EmailOTP.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ public async Task<VerifyResult> VerifyOtpAsync(string emailAddress, string otp,
3333
{
3434
if (localStorage.Session.IsKmsWallet)
3535
{
36-
// if (!await server.CheckIsEmailKmsOtpValidAsync(emailAddress, otp))
37-
// {
38-
// throw new VerificationException("Invalid OTP", true);
39-
// }
36+
if (!await server.CheckIsEmailKmsOtpValidAsync(emailAddress, otp))
37+
{
38+
throw new VerificationException("Invalid OTP", true);
39+
}
4040
Server.VerifyResult result = await server.VerifyKmsOtpAsync(emailAddress, otp, localStorage.Session.Id).ConfigureAwait(false);
4141
await localStorage.RemoveSessionAsync().ConfigureAwait(false);
4242
return await PostAuthSetup(result, recoveryCode, null, "EmailOTP").ConfigureAwait(false);

Thirdweb/Thirdweb.Wallets/InAppWallet/EmbeddedWallet/EmbeddedWallet.OAuth.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ public async Task<VerifyResult> SignInWithOauthAsync(string authProvider, string
1212
return await PostAuthSetup(result, recoveryCode, null, authProvider).ConfigureAwait(false);
1313
}
1414

15-
public async Task<string> FetchHeadlessOauthLoginLinkAsync(string authProvider)
15+
public async Task<string> FetchHeadlessOauthLoginLinkAsync(string authProvider, string platform)
1616
{
17-
return await server.FetchHeadlessOauthLoginLinkAsync(authProvider).ConfigureAwait(false);
17+
return await server.FetchHeadlessOauthLoginLinkAsync(authProvider, platform).ConfigureAwait(false);
1818
}
1919

2020
public async Task<bool> IsRecoveryCodeNeededAsync(string authResultStr)

Thirdweb/Thirdweb.Wallets/InAppWallet/InAppWallet.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,9 @@ public virtual async Task<string> LoginWithOauth(
9090
throw new ArgumentNullException(nameof(mobileRedirectScheme), "Mobile redirect scheme cannot be null or empty on this platform.");
9191
}
9292

93-
// TODO: Use this for login link when it's ready in backend
94-
var platform = "unity";
93+
var platform = _client.HttpClient?.Headers["x-sdk-platform"] ?? "dotnet";
9594
var redirectUrl = isMobile ? mobileRedirectScheme : "http://localhost:8789/";
96-
var loginUrl = await _embeddedWallet.FetchHeadlessOauthLoginLinkAsync(_authProvider);
95+
var loginUrl = await _embeddedWallet.FetchHeadlessOauthLoginLinkAsync(_authProvider, platform);
9796
loginUrl = $"{loginUrl}?platform={platform}&redirectUrl={redirectUrl}&developerClientId={_client.ClientId}&authOption={_authProvider}";
9897

9998
browser ??= new InAppWalletBrowser();

0 commit comments

Comments
 (0)