Android 如何在OAuth 2.0中验证访问令牌?

Android 如何在OAuth 2.0中验证访问令牌?,android,python,ios,oauth-2.0,access-token,Android,Python,Ios,Oauth 2.0,Access Token,如何验证访问令牌以及如何使用访问令牌获取令牌信息 这是验证访问令牌的url吗 这里是一个从令牌中获取数据的示例(示例来自Azure auth-但使用OAuth2并不重要) 这就是从令牌中提取信息的方式: 在getAuthInteractiveCallback()或getAuthSilentCallback()方法中: private AuthenticationCallback getAuthSilentCallback() { return new AuthenticationCall

如何验证访问令牌以及如何使用访问令牌获取令牌信息

这是验证访问令牌的url吗


这里是一个从令牌中获取数据的示例(示例来自Azure auth-但使用OAuth2并不重要)

这就是从令牌中提取信息的方式:

getAuthInteractiveCallback()或getAuthSilentCallback()方法中:

private AuthenticationCallback getAuthSilentCallback() {
    return new AuthenticationCallback() {
        @Override
        public void onSuccess(AuthenticationResult authenticationResult) {
            /* Successfully got a token, call api now */
            Log.d(TAG, "Successfully authenticated");
            Log.d(TAG, "ID Token: " + authenticationResult.getIdToken());
            Log.d(TAG, "ID Token: " + authenticationResult.getAccessToken());

            try {
                String token = authenticationResult.getIdToken();
                String token2 = token.substring(token.indexOf('.') + 1, token.lastIndexOf('.'));
                byte[] data = Base64.decode(token2, Base64.DEFAULT);
                String text = new String(data, StandardCharsets.UTF_8);
                JSONObject jsonObject = new JSONObject(text);
                JSONArray jsonArray = new JSONArray(jsonObject.getString("emails"));
                String eMail = jsonArray.get(0).toString();
                Log.d(TAG, "eMail: " + eMail);

            } catch (JSONException ex) { }



            authResult = authenticationResult;
            state.setAuthResult(authResult);
        }

        @Override
        public void onError(MsalException exception) {
        }

        @Override
        public void onCancel() {
        }
    };
}

此外,您还可以获得iod、过期时间(exp)、身份验证时间(身份验证时间)、版本(ver)

感谢您的回复{“访问令牌”:“typjr7f6arykd1vdlh1gbhwlnz8nla9tzmky2npvahzhw14udbmfnrg1pkmvey”,“刷新令牌”:“g2vaeo5ifslktvrdut4fedjtol0henxnt0j4d8fzejvvshyahzyvv0uso3”,“id\u令牌”:“K6PJMC0KAKMTBIKTRLF30NSHIWYFKQ12xBVRWQ92L1E4TQ7MEDGR7DTCFGCGMDDPPXMKGHW1ZJT8VVVNFTXQZXXXXXXXXE\u DoduecmR6GNIGDNU2QJ-jOK4Y4t4Fv3539c\u fA6C6P-Ae4ssb5NFvCZjtTixyH1pqA”,“令牌类型”:“持票人”,“到期日”:599}我收到上面的访问令牌响应我想使用访问令牌值验证访问令牌我是说服务器端验证,如果我将访问令牌传递给服务器,他们将根据令牌验证我。我想要确切的API来验证我方中的令牌您不必确保每次都重新检查令牌,即这就是为什么你有一个过期日期。在AOuth2中,你有一个静默登录的功能——如果你需要重新连接,它已经在用令牌管理整个事情了,等等。