common-authorization/src/main/java/org/gcube/common/authorization/library/provider/AuthorizationProvider.java

33 lines
709 B
Java

package org.gcube.common.authorization.library.provider;
public class AuthorizationProvider {
public static AuthorizationProvider instance = new AuthorizationProvider();
// Thread local variable containing each thread's ID
private static final InheritableThreadLocal<ClientInfo> threadAuth =
new InheritableThreadLocal<ClientInfo>() {
@Override protected UserInfo initialValue() {
return null;
}
};
private AuthorizationProvider(){}
public ClientInfo get(){
ClientInfo info = threadAuth.get();
return info;
}
public void set(ClientInfo info){
threadAuth.set(info);
}
public void reset(){
threadAuth.remove();
}
}