String sessionId = session().get(Constants.Session.ID_KEY);
assert sessionId != null;
if (sessionId == null)
throw new PartakeException(ServerErrorCode.SESSION_ID_KEY_NOTFOUND);
IOpenIDService service = PartakeApp.getOpenIDService();
DiscoveryInformation discoveryInformation = service.discover(identifier);
OpenIDLoginInformation info = new OpenIDLoginInformation(purpose, discoveryInformation);
Cache.set(Constants.Cache.OPENID_LOGIN_KEY_PREFIX + sessionId, info, LOGIN_TIMEOUT_SEC);
String authURL = service.getURLToAuthenticate(discoveryInformation, CALLBACK_URL);
return renderRedirect(authURL);
}