static Intent parseTokenUriToIntent()

in core-android/src/main/java/com/uber/sdk/android/core/auth/AuthUtils.java [196:220]


    static Intent parseTokenUriToIntent(@NonNull Uri uri) throws LoginAuthenticationException {
        final long expiresIn;
        try {
            expiresIn = Long.valueOf(uri.getQueryParameter(KEY_EXPIRATION_TIME));
        } catch (NumberFormatException ex) {
            throw new LoginAuthenticationException(AuthenticationError.INVALID_RESPONSE);
        }

        final String accessToken = uri.getQueryParameter(KEY_TOKEN);
        final String refreshToken = uri.getQueryParameter(KEY_REFRESH_TOKEN);
        final String scope = uri.getQueryParameter(KEY_SCOPES);
        final String tokenType = uri.getQueryParameter(KEY_TOKEN_TYPE);

        if (TextUtils.isEmpty(accessToken) || TextUtils.isEmpty(scope) || TextUtils.isEmpty(tokenType)) {
            throw new LoginAuthenticationException(AuthenticationError.INVALID_RESPONSE);
        }

        Intent data = new Intent();
        data.putExtra(LoginManager.EXTRA_ACCESS_TOKEN, accessToken);
        data.putExtra(LoginManager.EXTRA_REFRESH_TOKEN, refreshToken);
        data.putExtra(LoginManager.EXTRA_SCOPE, scope);
        data.putExtra(LoginManager.EXTRA_EXPIRES_IN, expiresIn);
        data.putExtra(LoginManager.EXTRA_TOKEN_TYPE, tokenType);
        return data;
    }