com.azure.core.credential.TokenRequestContext Maven / Gradle / Ivy
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.core.credential;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
* Contains details of a request to get a token.
*/
public class TokenRequestContext {
private final List scopes;
private String claims;
private String tenantId;
/**
* Creates a token request instance.
*/
public TokenRequestContext() {
this.scopes = new ArrayList<>();
}
/**
* Gets the scopes required for the token.
* @return the scopes required for the token
*/
public List getScopes() {
return scopes;
}
/**
* Sets the scopes required for the token.
* @param scopes the scopes required for the token
* @return the TokenRequestContext itself
*/
public TokenRequestContext setScopes(List scopes) {
Objects.requireNonNull(scopes, "'scopes' cannot be null.");
this.scopes.clear();
this.scopes.addAll(scopes);
return this;
}
/**
* Adds one or more scopes to the request scopes.
* @param scopes one or more scopes to add
* @return the TokenRequestContext itself
*/
public TokenRequestContext addScopes(String... scopes) {
this.scopes.addAll(Arrays.asList(scopes));
return this;
}
/**
* Set the additional claims to be included in the token.
*
* @see
* https://openid.net/specs/openid-connect-core-1_0-final.html#ClaimsParameter
*
* @param claims the additional claims to be included in the token.
* @return the updated TokenRequestContext itself
*/
public TokenRequestContext setClaims(String claims) {
this.claims = claims;
return this;
}
/**
* Get the additional claims to be included in the token.
*
* @see
* https://openid.net/specs/openid-connect-core-1_0-final.html#ClaimsParameter
*
* @return the additional claims to be included in the token.
*/
public String getClaims() {
return this.claims;
}
/**
* Set the tenant id to be used for the authentication request.
*
* @param tenantId the tenant to be used when requesting the token.
* @return the updated TokenRequestContext itself
*/
public TokenRequestContext setTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
/**
* Get the tenant id to be used for the authentication request.
*
* @return the configured tenant id.
*/
public String getTenantId() {
return this.tenantId;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy