/
AuthUtil.java
58 lines (51 loc) · 2.2 KB
/
AuthUtil.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package io.dropwizard.auth.util;
import io.dropwizard.auth.AuthenticationException;
import io.dropwizard.auth.Authenticator;
import io.dropwizard.auth.Authorizer;
import io.dropwizard.auth.PrincipalImpl;
import io.dropwizard.auth.basic.BasicCredentials;
import java.security.Principal;
import java.util.List;
import java.util.Optional;
public class AuthUtil {
public static Authenticator<BasicCredentials, Principal> getBasicAuthenticator(final List<String> validUsers) {
return credentials -> {
if (validUsers.contains(credentials.getUsername()) && "secret".equals(credentials.getPassword())) {
return Optional.<Principal>of(new PrincipalImpl(credentials.getUsername()));
}
if ("bad-guy".equals(credentials.getUsername())) {
throw new AuthenticationException("CRAP");
}
return Optional.empty();
};
}
public static Authenticator<String, Principal> getSingleUserOAuthAuthenticator(final String presented,
final String returned) {
return user -> {
if (presented.equals(user)) {
return Optional.<Principal>of(new PrincipalImpl(returned));
}
if ("bad-guy".equals(user)) {
throw new AuthenticationException("CRAP");
}
return Optional.empty();
};
}
public static Authenticator<String, Principal> getMultiplyUsersOAuthAuthenticator(final List<String> validUsers) {
return credentials -> {
if (validUsers.contains(credentials)) {
return Optional.<Principal>of(new PrincipalImpl(credentials));
}
if ("bad-guy".equals(credentials)) {
throw new AuthenticationException("CRAP");
}
return Optional.empty();
};
}
public static Authorizer<Principal> getTestAuthorizer(final String validUser,
final String validRole) {
return (principal, role) -> principal != null
&& validUser.equals(principal.getName())
&& validRole.equals(role);
}
}