@Override protected BrokeredIdentityContext doGetFederatedIdentity(String accessToken) { log.debug("doGetFederatedIdentity()"); try { String URL = PROFILE_URL + "&access_token=" + accessToken + "&key=" + getConfig().getKey(); if (log.isDebugEnabled()) { log.debug("StackOverflow profile request to: " + URL); } JsonNode profile = JsonSimpleHttp.asJson(SimpleHttp.doGet(URL)).get("items").get(0); BrokeredIdentityContext user = new BrokeredIdentityContext(getJsonProperty(profile, "user_id")); String username = extractUsernameFromProfileURL(getJsonProperty(profile, "link")); user.setUsername(username); user.setName(unescapeHtml3(getJsonProperty(profile, "display_name"))); // email is not provided // user.setEmail(getJsonProperty(profile, "email")); user.setIdpConfig(getConfig()); user.setIdp(this); AbstractJsonUserAttributeMapper.storeUserProfileForMapper(user, profile, getConfig().getAlias()); return user; } catch (Exception e) { throw new IdentityBrokerException("Could not obtain user profile from Stackoverflow: " + e.getMessage(), e); } }
@Override protected BrokeredIdentityContext doGetFederatedIdentity(String accessToken) { log.debug("doGetFederatedIdentity()"); try { JsonNode profile = JsonSimpleHttp.asJson(SimpleHttp.doGet(PROFILE_URL).header("Authorization", "Bearer " + accessToken)); BrokeredIdentityContext user = new BrokeredIdentityContext(getJsonProperty(profile, "id")); String username = extractUsernameFromProfileURL(getJsonProperty(profile, "publicProfileUrl")); user.setUsername(username); user.setName(getJsonProperty(profile, "formattedName")); user.setEmail(getJsonProperty(profile, "emailAddress")); user.setIdpConfig(getConfig()); user.setIdp(this); AbstractJsonUserAttributeMapper.storeUserProfileForMapper(user, profile, getConfig().getAlias()); return user; } catch (Exception e) { throw new IdentityBrokerException("Could not obtain user profile from linkedIn.", e); } }
@Override protected BrokeredIdentityContext doGetFederatedIdentity(String accessToken) { try { JsonNode profile = JsonSimpleHttp.asJson(SimpleHttp.doGet(PROFILE_URL).header("Authorization", "Bearer " + accessToken)); BrokeredIdentityContext user = new BrokeredIdentityContext(getJsonProperty(profile, "id")); String username = getJsonProperty(profile, "login"); user.setUsername(username); user.setName(getJsonProperty(profile, "name")); user.setEmail(getJsonProperty(profile, "email")); user.setIdpConfig(getConfig()); user.setIdp(this); AbstractJsonUserAttributeMapper.storeUserProfileForMapper(user, profile, getConfig().getAlias()); return user; } catch (Exception e) { throw new IdentityBrokerException("Could not obtain user profile from github.", e); } }
identity.setName(name); identity.setEmail(email);