Developer Console

A3L Authentication Reference, Troubleshooting, and FAQ

Here you can find the A3L Authentication API reference, a list of scopes that are supported by A3L Authentication, troubleshooting information, and frequently asked questions.

A3L Authentication API reference

For details on the classes and methods contained in A3L Authentication, see the complete A3L Authentication API Reference.

Scopes supported by A3L Authentication

In A3L Authentication, a user can grant access to the scopes listed in the following table.

Scopes supported by A3L Authentication
Constant Description and Value
EMAIL OAuth 2.0 scope for accessing user's Google account email address:
email
PROFILE OAuth 2.0 scope for viewing a user's basic profile information:
profile
OPEN_ID OAuth 2.0 scope for accessing OpenID for the profile:
openid

Troubleshooting

This section contains troubleshooting information to help you identify, isolate, and resolve issues you might encounter while integrating A3L Authentication.

Build fails for apps with minimum Android API level 20 or lower

If your app needs to support API level 20 or lower and multidex isn't enabled, it's possible your build could fail. To solve this issue, enable multidex for your app by following the guidelines in the Android developer documentation to Enable multidex.

Google Sign-In pop-up isn't shown after clicking Sign In

Check if you have the correct configuration in your API Console and in A3L Authentication. If you've provided the client ID, check the SHA1 and package name that you provided to create the client ID and make sure they match. If they don't match, Google won't recognize the app and the pop-up won't appear. Make sure to modify the credentials to have correct SHA1 and package name. For details about how to configure your app, see Configure Google API Console.

After authentication, Custom Tab is redirected to Google homepage

If after authentication, the user is redirected to the Google homepage and not back to the app, you might have misconfigured your manifest placeholder. You must provide the Android client ID prefix in the manifest placeholder inside the build.gradle file. For instructions, see Add A3L Authentication SDK to your project.

Unable to initialize A3L Authentication

If A3L Authentication initialization fails and you receive "Internal Error APIException", there might be a problem with your A3L Authentication SDK installation. Replace your A3L Authentication AAR with the latest version available.

FAQ

These are frequently asked questions (FAQ) about A3L Authentication.

Q: Why is it necessary to use minimum API level 21?
A3L Authentication uses Androidx Security Crypto library internally for a more secure way of storing the necessary data. The minimum requirement for the library is API Level 21.
Q: How does setHostedDomain() work on different types of devices?
On devices with Google Play services enabled, the setHostedDomain() method doesn't necessarily block the user from signing in to an app with an email that uses a different domain name.

If a user signs in to their device using an email that belongs to the hosted domain, only that email will appear on the in-app sign-in window. If the user isn't signed in to the device with an email that belongs to the hosted domain and they attempt to sign in to the app, the app displays the Google Sign-In window (managed by Google Play services) to prompt the user to sign in to the device. A user can then choose to sign in with an email from a different domain. However, if they sign in with an email from a different domain, the in-app sign-in window won't show that email as a sign-in option like it does for emails that belong to the hosted domain.

On Fire OS devices, the setHostedDomain() method restricts the user's email ID and allows it to be added only if it's within the hosted domain.

Q: On a non-Amazon Android device, can a user sign in with their Google account on an app that was downloaded from the Amazon Appstore?
Amazon Appstore apps aren't registered with Google. Therefore, authorization can't occur with Appstore apps on a Google Android device.

Last updated: Dec 05, 2023