diff --git a/EXAMPLES.md b/EXAMPLES.md index 7521ed719..763a41883 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -712,6 +712,29 @@ client.passkeyEnrollmentChallenge() ``` +
+ Using Java + +```java + +MyAccountAPIClient client = new MyAccountAPIClient(account, "accessToken"); + +client.passkeyEnrollmentChallenge() + .start(new Callback() { + @Override + public void onSuccess(PasskeyEnrollmentChallenge result) { + System.out.println(result); + } + + @Override + public void onFailure(@NonNull MyAccountException error) { + System.out.println(error); + } +}); + +``` +
+ #### 2. Create a new passkey credential Use the enrollment challenge with the Google's [CredentialManager](https://developer.android.com/identity/sign-in/credential-manager) APIs to create a new passkey credential. @@ -729,6 +752,32 @@ val passkeyCredentials = Gson().fromJson( PublicKeyCredentials::class.java ) ``` +
+ Using Java + +```java + + CreateCredentialRequest request = + new CreatePublicKeyCredentialRequest(new Gson().toJson(enrollmentChallenge.authParamsPublicKey())); + credentialManager.createCredentialAsync(getContext(), + request, + cancellationSignal, + , + new CredentialManagerCallback() { + @Override + public void onResult(CreateCredentialResponse createCredentialResponse) { + PublicKeyCredentials credentials = new Gson().fromJson( + ((CreatePublicKeyCredentialResponse) createCredentialResponse).getRegistrationResponseJson(), + PublicKeyCredentials.class); + } + @Override + public void onError(@NonNull CreateCredentialException e) {} + }); + +``` +
+ + #### 3. Enroll the passkey Use the created passkey credential and the enrollment challenge to enroll the passkey with Auth0. @@ -761,6 +810,27 @@ try { ``` +
+ Using Java + +```java + +client.enroll(passkeyCredential, challenge) + .start(new Callback() { + @Override + public void onSuccess(@NonNull PasskeyAuthenticationMethod result) { + System.out.println("Passkey enrolled successfully: " + result.getId()); + } + + @Override + public void onFailure(@NonNull MyAccountException error) { + System.out.println("Error enrolling passkey: " + error.getMessage()); + } + }); + +``` +
+ ## Credentials Manager ### Secure Credentials Manager @@ -897,6 +967,31 @@ credentialsManager.getApiCredentials( +
+ Using Java + +```java + +credentialsManager.getApiCredentials("audience", + "scope", + 0, + new HashMap<>(), + new HashMap<>(), + new Callback() { + @Override + public void onSuccess(APICredentials result) { + System.out.println(result); + } + + @Override + public void onFailure(@NonNull CredentialsManagerException error) { + System.out.println(error); + } + }); + +``` +
+ ### Handling Credentials Manager exceptions In the event that something happened while trying to save or retrieve the credentials, a `CredentialsManagerException` will be thrown. These are some of the expected failure scenarios: diff --git a/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt b/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt index c257b519b..401dd0d5d 100644 --- a/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt +++ b/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt @@ -134,6 +134,7 @@ public class MyAccountAPIClient @VisibleForTesting(otherwise = VisibleForTesting * @return A request to obtain a passkey enrollment challenge * * */ + @JvmOverloads public fun passkeyEnrollmentChallenge( userIdentity: String? = null, connection: String? = null ): Request {