Azure Active Directory-在Java中设置令牌过期

时间:2019-07-09 16:55:56

标签: azure active-directory azure-active-directory skype-for-business ucwa

我是天蓝色的新手,我正在尝试用Java设置访问令牌的到期时间,但是我无法找到任何示例来进行设置。请帮助设置有效时间,从60分钟到1天。

我想将“ expires_in”:“ 3600”增加到至少8小时或更多。

在代码中,这里我无法获得任何方法,例如set param或set标头。请帮助我。

以下是参数的链接:

https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-configurable-token-lifetimes#cmdlet-reference

谢谢。

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>"
}

1 个答案:

答案 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"
}