2024-09-30 12:17:16 发布
网友
如何验证访问令牌?如何使用访问令牌获取令牌信息?在
这是验证访问令牌的url吗?在
https://mydomain/oauth2/v1/tokeninfo?access_token=tYPJr7F6ArYkd1Vdlh1gbhWlnz8NLA9TZmky2NpvaHZxhw14udbmFNRG1pKMKVEY&token_type=bearer
下面是一个从token获取的数据示例(示例来自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、expiration time(exp)、auth time(auth_time)和versiov(ver)
下面是一个从token获取的数据示例(示例来自Azure auth-但使用OAuth2并不重要)。在
如何从令牌中提取信息:
在getAuthInteractiveCallback()或getAuthSilentCallback()方法中:
此外,您可以获得iod、expiration time(exp)、auth time(auth_time)和versiov(ver)
相关问题 更多 >
编程相关推荐