package org.jboss.seam.security.external.openid.providers; import java.util.List; import org.jboss.seam.security.external.openid.api.OpenIdRelyingPartyApi; import org.jboss.seam.security.external.openid.api.OpenIdRequestedAttribute; /** * Open ID provider for Google Accounts * * @author Shane Bryzak */ public class GoogleOpenIdProvider implements OpenIdProvider { public static final String CODE = "google"; private boolean requestFirstName = true; private boolean requestLastName = true; private boolean requestEmail = true; public boolean isRequestFirstName() { return requestFirstName; } public void setRequestFirstName(boolean value) { this.requestFirstName = value; } public boolean isRequestLastName() { return requestLastName; } public void setRequestLastName(boolean value) { this.requestLastName = value; } public boolean isRequestEmail() { return requestEmail; } public void setRequestEmail(boolean value) { this.requestEmail = value; } public String getCode() { return CODE; } public String getName() { return "Google"; } public String getUrl() { return "https://www.google.com/accounts/o8/id"; } public void requestAttributes(OpenIdRelyingPartyApi openIdApi, List<OpenIdRequestedAttribute> attributes) { //attributes.add(openIdApi.createOpenIdRequestedAttribute("openid.ns.ax", "http://openid.net/srv/ax/1.0", true, 1)); if (requestEmail) { attributes.add(openIdApi.createOpenIdRequestedAttribute("email", "http://axschema.org/contact/email", true, 1)); } if (requestFirstName) { attributes.add(openIdApi.createOpenIdRequestedAttribute("firstName", "http://axschema.org/namePerson/first", true, 1)); } if (requestLastName) { attributes.add(openIdApi.createOpenIdRequestedAttribute("lastName", "http://axschema.org/namePerson/last", true, 1)); } } }