Azure Active Directory - установка срока действия токена в Java - PullRequest
2 голосов
/ 09 июля 2019

Я новичок в Azure, и я пытаюсь установить время истечения для моего токена доступа, в Java, но я не могу найти никаких примеров, чтобы сделать, как его установить.Пожалуйста, помогите, как установить время истечения, от 60 минут до 1 дня.

Я хочу увеличить «expires_in»: «3600», по крайней мере, 8 часов или более.

В коде здесь я не могу получить какие-либо методы, такие как set param или set headers.Пожалуйста, помогите мне, как я могу.

Вот ссылка для параметров:

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 голосов
/ 10 июля 2019

Для создания политики вам потребуется использовать скрипт 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-коде, вы можете использовать Graph API (скрипт PowerShell также вызывает этот API). Вот образец .

POST https://graph.microsoft.com/beta/policies
Content-Type: application/json

{
  "displayName":"CustomTokenLifetimePolicy",
  "definition":["{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"8:00:00\"}}"],
  "type":"TokenLifetimePolicy"
}
...