Azure Active Directory - 在 java 中设置令牌过期
Azure Active Directory - Setting Token Expiry in java
我是 azure 的新手,我正在尝试在 java 中为我的访问令牌设置到期时间,但我找不到任何示例来说明如何设置它。请帮助如何设置到期时间,从 60 分钟到 1 天。
我想增加 "expires_in": "3600", 至少 8 小时或以上。
在代码中,这里我无法获得任何方法,如 set param 或 set headers。请帮助我,我怎么能。
这是参数的 link:
谢谢。
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>"
}
您将需要使用 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"
}
我是 azure 的新手,我正在尝试在 java 中为我的访问令牌设置到期时间,但我找不到任何示例来说明如何设置它。请帮助如何设置到期时间,从 60 分钟到 1 天。
我想增加 "expires_in": "3600", 至少 8 小时或以上。
在代码中,这里我无法获得任何方法,如 set param 或 set headers。请帮助我,我怎么能。
这是参数的 link:
谢谢。
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>"
}
您将需要使用 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"
}