added preferred_username claim to userinfo endpoint

pull/105/merge
Amanda Anganes 2012-07-06 16:02:11 -04:00
parent 8abbce3a2d
commit 01793ec57f
5 changed files with 29 additions and 7 deletions

View File

@ -20,16 +20,12 @@ import javax.persistence.Entity;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType; import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries; import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery; import javax.persistence.NamedQuery;
import javax.persistence.OneToOne; import javax.persistence.OneToOne;
import javax.persistence.Table; import javax.persistence.Table;
import com.google.gson.JsonObject;
@Entity @Entity
@Table(name="userinfo") @Table(name="userinfo")
@NamedQueries({ @NamedQueries({
@ -38,6 +34,7 @@ import com.google.gson.JsonObject;
public class DefaultUserInfo implements UserInfo { public class DefaultUserInfo implements UserInfo {
private String userId; private String userId;
private String preferredUsername;
private String name; private String name;
private String givenName; private String givenName;
private String familyName; private String familyName;
@ -72,6 +69,20 @@ public class DefaultUserInfo implements UserInfo {
public void setUserId(String userId) { public void setUserId(String userId) {
this.userId = userId; this.userId = userId;
} }
/* (non-Javadoc)
* @see org.mitre.openid.connect.model.UserInfo#getPreferredUsername
*/
@Override
public String getPreferredUsername() {
return this.preferredUsername;
}
/* (non-Javadoc)
* @see org.mitre.openid.connect.model.UserInfo#setPreferredUsername(java.lang.String)
*/
@Override
public void setPreferredUsername(String preferredUsername) {
this.preferredUsername = preferredUsername;
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.mitre.openid.connect.model.UserInfo#getName() * @see org.mitre.openid.connect.model.UserInfo#getName()
*/ */

View File

@ -5,7 +5,6 @@ import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Inheritance; import javax.persistence.Inheritance;
import javax.persistence.InheritanceType; import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne; import javax.persistence.OneToOne;
@Entity @Entity
@ -22,6 +21,17 @@ public interface UserInfo {
* @param userId the userId to set * @param userId the userId to set
*/ */
public abstract void setUserId(String userId); public abstract void setUserId(String userId);
/**
* @return the preferred username
*/
@Basic
public abstract String getPreferredUsername();
/**
* @param preferredUsername the preferredUsername to set
*/
public abstract void setPreferredUsername(String preferredUsername);
/** /**
* @return the name * @return the name

View File

@ -1,6 +1,7 @@
CREATE TABLE userinfo ( CREATE TABLE userinfo (
id BIGINT AUTO_INCREMENT PRIMARY KEY, id BIGINT AUTO_INCREMENT PRIMARY KEY,
userId VARCHAR(256), userId VARCHAR(256),
preferredUsername VARCHAR(256),
name VARCHAR(256), name VARCHAR(256),
givenName VARCHAR(256), givenName VARCHAR(256),
familyName VARCHAR(256), familyName VARCHAR(256),

View File

@ -77,6 +77,7 @@ public class JSONUserInfoView extends AbstractView{
if (scope.contains("profile")) { if (scope.contains("profile")) {
obj.addProperty("name", ui.getName()); obj.addProperty("name", ui.getName());
obj.addProperty("preferred_username", ui.getPreferredUsername());
obj.addProperty("given_name", ui.getGivenName()); obj.addProperty("given_name", ui.getGivenName());
obj.addProperty("family_name", ui.getFamilyName()); obj.addProperty("family_name", ui.getFamilyName());
obj.addProperty("middle_name", ui.getMiddleName()); obj.addProperty("middle_name", ui.getMiddleName());
@ -88,7 +89,6 @@ public class JSONUserInfoView extends AbstractView{
obj.addProperty("zone_info", ui.getZoneinfo()); obj.addProperty("zone_info", ui.getZoneinfo());
obj.addProperty("locale", ui.getLocale()); obj.addProperty("locale", ui.getLocale());
obj.addProperty("updated_time", ui.getUpdatedTime()); obj.addProperty("updated_time", ui.getUpdatedTime());
// TODO: preferred_username
} }
if (scope.contains("email")) { if (scope.contains("email")) {

View File

@ -100,7 +100,7 @@ public class POCOUserInfoView extends AbstractView{
} }
entry.addProperty("gender", ui.getGender()); entry.addProperty("gender", ui.getGender());
// TODO: preferred_username entry.addProperty("preferredUsername", ui.getPreferredUsername());
if(ui.getPicture() != null){ if(ui.getPicture() != null){
JsonObject photo = new JsonObject(); JsonObject photo = new JsonObject();
photo.addProperty("value", ui.getPicture()); photo.addProperty("value", ui.getPicture());