All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.unblu.webapi.jersey.v3.invoker.auth.HttpBearerAuth Maven / Gradle / Ivy


package com.unblu.webapi.jersey.v3.invoker.auth;

import java.util.List;
import java.util.Map;

import com.unblu.webapi.jersey.v3.invoker.Pair;

public class HttpBearerAuth implements Authentication {
	private final String scheme;
	private String bearerToken;

	public HttpBearerAuth(String scheme) {
		this.scheme = scheme;
	}

	/**
	 * Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
	 *
	 * @return The bearer token
	 */
	public String getBearerToken() {
		return bearerToken;
	}

	/**
	 * Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
	 *
	 * @param bearerToken The bearer token to send in the Authorization header
	 */
	public void setBearerToken(String bearerToken) {
		this.bearerToken = bearerToken;
	}

	@Override
	public void applyToParams(List queryParams, Map headerParams) {
		if (bearerToken == null) {
			return;
		}

		headerParams.put("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken);
	}

	private static String upperCaseBearer(String scheme) {
		return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy