AuthRequest authReq = consumerManager.authenticate(discovered,
adapter.getReturnURL());
// Attribute Exchange example: fetching the 'email' attribute
FetchRequest fetch = FetchRequest.createFetchRequest();
SRegRequest sregReq = SRegRequest.createFetchRequest();
OpenIDAttributeMap amap = adapter.getAttributeMap();
if ("1".equals(amap.get("nickname")))
{
// fetch.addAttribute("nickname",
// "http://schema.openid.net/contact/nickname", false);
sregReq.addAttribute("nickname", false);
}
if ("1".equals(amap.get("email")))
{
fetch.addAttribute("email",OpenIDConstants.EMAIL.url(), false);
sregReq.addAttribute("email", false);
}
if ("1".equals(amap.get("fullname")))
{
fetch.addAttribute("fullname",OpenIDConstants.FULLNAME.url(), false);
sregReq.addAttribute("fullname", false);
}
if ("1".equals(amap.get("dob")))
{
fetch.addAttribute("dob",OpenIDConstants.DOB.url(), true);
sregReq.addAttribute("dob", false);
}
if ("1".equals(amap.get("gender")))
{
fetch.addAttribute("gender",OpenIDConstants.GENDER.url(), false);
sregReq.addAttribute("gender", false);
}
if ("1".equals(amap.get("postcode")))
{
fetch.addAttribute("postcode",OpenIDConstants.POSTCODE.url(), false);
sregReq.addAttribute("postcode", false);
}
if ("1".equals(amap.get("country")))
{
fetch.addAttribute("country",OpenIDConstants.COUNTRY.url(), false);
sregReq.addAttribute("country", false);
}
if ("1".equals(amap.get("language")))
{
fetch.addAttribute("language", OpenIDConstants.LANGUAGE.url(),false);
sregReq.addAttribute("language", false);
}
if ("1".equals(amap.get("timezone")))
{
fetch.addAttribute("timezone", OpenIDConstants.TIMEZONE.url(), false);
sregReq.addAttribute("timezone", false);
}
// attach the extension to the authentication request
if (!sregReq.getAttributes().isEmpty())
{
authReq.addExtension(sregReq);
}
if (!discovered.isVersion2())