package service;
import play.Application;
import providers.JackrabbitEmailPasswordAuthProvider.LoginUser;
import com.feth.play.module.pa.service.UserServicePlugin;
import com.feth.play.module.pa.user.AuthUser;
import com.feth.play.module.pa.user.AuthUserIdentity;
import com.feth.play.module.pa.user.EmailIdentity;
public class SimpleUserServicePlugin extends UserServicePlugin {
public SimpleUserServicePlugin(Application app) {
super(app);
}
@Override
public Object save(final AuthUser authUser) {
if (authUser instanceof LoginUser) {
// No saving done - we'll just trust the ID
return authUser;
}
throw new UnsupportedOperationException(
"Only email/password logins are currently supported");
}
@Override
public Object getLocalIdentity(final AuthUserIdentity identity) {
if (identity.getProvider().equals("password")) {
return new EmailIdentity() {
@Override
public String getId() {
return identity.getId();
}
@Override
public String getProvider() {
return identity.getProvider();
}
@Override
public String getEmail() {
return getId();
}
};
}
throw new UnsupportedOperationException(
"Only email/password logins are currently supported");
}
@Override
public AuthUser merge(AuthUser newUser, AuthUser oldUser) {
// Not Implemented
return newUser;
}
@Override
public AuthUser link(AuthUser oldUser, AuthUser newUser) {
// Not Implemented
return newUser;
}
}