我是天蓝色的新手,我正在尝试用Java设置访问令牌的到期时间,但是我无法找到任何示例来进行设置。请帮助设置有效时间,从60分钟到1天。
我想将“ expires_in”:“ 3600”增加到至少8小时或更多。
在代码中,这里我无法获得任何方法,例如set param或set标头。请帮助我。
以下是参数的链接:
谢谢。
AuthenticationContext context = null;
AuthenticationResult result = null;
ExecutorService service = null;
try {
String refreshToken = request.getParameter("refreshToken");
String currentUri = request.getRequestURL().toString();
service = Executors.newFixedThreadPool(1);
context = new AuthenticationContext(authority + tenant + "/", true,
service);
Future<AuthenticationResult> future = context
.acquireTokenByRefreshToken(refreshToken,
new ClientCredential(clientId, clientSecret), null,
null);
result = future.get();
//////////////////////////////////////////////////////////
// token values I'm getting
{
"access_token": "<requested-access-token>",
"token_type": "<token-type-value>",
"expires_in": "3600",
"expires_on": "<access-token-expiration-date-time>",
"resource": "<app-id-uri>",
"refresh_token": "<oauth2-refresh-token>",
"scope": "user_impersonation",
"id_token": "<unsigned-JSON-web-token>"
}
答案 0 :(得分:0)
您将需要使用Powershell脚本创建策略。这是供您参考的脚本。
Install-Module -Name AzureADPreview -Force
Connect-AzureAD -confirm
$policy=New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"08:00:00"}}') -DisplayName "tonytestpolicy" -IsOrganizationDefault $false -Type "TokenLifetimePolicy"
如果必须在Java代码中执行此操作,则可以使用图形api(powershell脚本也称为此api)。这是sample。
POST https://graph.microsoft.com/beta/policies
Content-Type: application/json
{
"displayName":"CustomTokenLifetimePolicy",
"definition":["{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"8:00:00\"}}"],
"type":"TokenLifetimePolicy"
}