1
2
3
4 package org.itracker.services.authentication.adsson;
5
6 import javax.security.auth.callback.Callback;
7 import javax.security.auth.callback.CallbackHandler;
8 import javax.security.auth.callback.NameCallback;
9 import javax.security.auth.callback.PasswordCallback;
10 import javax.security.auth.callback.UnsupportedCallbackException;
11
12
13
14
15
16
17
18
19 public class SimpleCallbackHandler implements CallbackHandler {
20
21 private String username;
22
23 private String password;
24
25 public SimpleCallbackHandler(String username, String password) {
26 super();
27 this.username = username;
28 this.password = password;
29 }
30
31 public void handle(Callback[] callbacks) throws java.io.IOException, UnsupportedCallbackException {
32
33 for (int i = 0; i < callbacks.length; i++) {
34 if (callbacks[i] instanceof NameCallback) {
35 NameCallback cb = (NameCallback) callbacks[i];
36 cb.setName(username);
37 } else if (callbacks[i] instanceof PasswordCallback) {
38 PasswordCallback cb = (PasswordCallback) callbacks[i];
39 cb.setPassword(password.toCharArray());
40 } else {
41 throw new UnsupportedCallbackException(callbacks[i]);
42 }
43 }
44
45 }
46 }