Skip to content

Commit 0288124

Browse files
authored
Merge pull request #179 from immutable/feat/game-bridge-passport-id
[DX-2756] feat: get passport id
2 parents 79988f2 + 48aefc7 commit 0288124

File tree

8 files changed

+393
-24
lines changed

8 files changed

+393
-24
lines changed

sample/Assets/Scenes/AuthenticatedScene.unity

Lines changed: 332 additions & 16 deletions
Large diffs are not rendered by default.

sample/Assets/Scenes/UnauthenticatedScene.unity

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ MonoBehaviour:
286286
m_TargetGraphic: {fileID: 416242725}
287287
m_HandleRect: {fileID: 416242724}
288288
m_Direction: 0
289-
m_Value: 0
289+
m_Value: 1
290290
m_Size: 1
291291
m_NumberOfSteps: 0
292292
m_OnValueChanged:

sample/Assets/Scripts/AuthenticatedScript.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,12 @@ public async void GetEmail()
208208
ShowOutput(email ?? "No email");
209209
}
210210

211+
public async void GetPassportId()
212+
{
213+
string passportId = await passport.GetPassportId();
214+
ShowOutput(passportId ?? "No Passport ID");
215+
}
216+
211217
public void ShowTransfer()
212218
{
213219
AuthenticatedCanvas.gameObject.SetActive(false);

src/Packages/Passport/Runtime/Resources/index.html

Lines changed: 7 additions & 7 deletions
Large diffs are not rendered by default.

src/Packages/Passport/Runtime/Scripts/Private/PassportFunction.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public static class PassportFunction
1616
public const string GET_ID_TOKEN = "getIdToken";
1717
public const string LOGOUT = "logout";
1818
public const string GET_EMAIL = "getEmail";
19+
public const string GET_PASSPORT_ID = "getPassportId";
1920

2021
public static class IMX
2122
{

src/Packages/Passport/Runtime/Scripts/Private/PassportImpl.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,12 @@ public async UniTask<string> GetEmail()
642642
return response.GetStringResult();
643643
}
644644

645+
public async UniTask<string> GetPassportId()
646+
{
647+
string response = await communicationsManager.Call(PassportFunction.GET_PASSPORT_ID);
648+
return response.GetStringResult();
649+
}
650+
645651
public async UniTask<string> GetAccessToken()
646652
{
647653
string response = await communicationsManager.Call(PassportFunction.GET_ACCESS_TOKEN);

src/Packages/Passport/Runtime/Scripts/Public/Passport.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,18 @@ public async UniTask<string> GetEmail()
257257
return email;
258258
}
259259

260+
/// <summary>
261+
/// Retrieves the Passport ID of the user whose credentials are currently stored.
262+
/// <returns>
263+
/// The Passport ID, otherwise null
264+
/// </returns>
265+
/// </summary>
266+
public async UniTask<string> GetPassportId()
267+
{
268+
string passportId = await GetPassportImpl().GetPassportId();
269+
return passportId;
270+
}
271+
260272
/// <summary>
261273
/// Gets the currently saved access token without verifying its validity.
262274
/// <returns>

src/Packages/Passport/Tests/Runtime/Scripts/PassportTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class PassportImplTests
4242
internal static string ID_TOKEN_KEY = "idToken";
4343
internal static string ADDRESS = "0xaddress";
4444
internal static string EMAIL = "[email protected]";
45+
internal static string PASSPORT_ID = "email|123457890";
4546
internal static string SIGNATURE = "0xsignature";
4647
internal static string MESSAGE = "message";
4748
internal static string CODE = "IMX";
@@ -918,6 +919,33 @@ public async Task GetEmail_Failed()
918919
Assert.AreEqual(PassportFunction.GET_EMAIL, communicationsManager.fxName);
919920
Assert.True(String.IsNullOrEmpty(communicationsManager.data));
920921
}
922+
923+
[Test]
924+
public async Task GetPassportId_Success()
925+
{
926+
var response = new StringResponse
927+
{
928+
success = true,
929+
result = PASSPORT_ID
930+
};
931+
communicationsManager.AddMockResponse(response);
932+
933+
var passportId = await passport.GetPassportId();
934+
935+
Assert.AreEqual(PASSPORT_ID, passportId);
936+
Assert.AreEqual(PassportFunction.GET_PASSPORT_ID, communicationsManager.fxName);
937+
Assert.True(String.IsNullOrEmpty(communicationsManager.data));
938+
}
939+
940+
[Test]
941+
public async Task GetPassportId_Failed()
942+
{
943+
var passportId = await passport.GetPassportId();
944+
945+
Assert.Null(passportId);
946+
Assert.AreEqual(PassportFunction.GET_PASSPORT_ID, communicationsManager.fxName);
947+
Assert.True(String.IsNullOrEmpty(communicationsManager.data));
948+
}
921949
}
922950

923951
internal class MockBrowserCommsManager : IBrowserCommunicationsManager

0 commit comments

Comments
 (0)