mitreid-connect
公開メンバ関数 | 静的公開変数類 | 非公開変数類 | 全メンバ一覧
org.mitre.uma.web.UserClaimSearchHelper クラス
org.mitre.uma.web.UserClaimSearchHelper 連携図
Collaboration graph

公開メンバ関数

String search (@RequestParam(value="identifier") String email, Model m, Authentication auth, HttpServletRequest req)
 

静的公開変数類

static final String URL = RootController.API_URL + "/emailsearch"
 

非公開変数類

WebfingerIssuerService webfingerIssuerService = new WebfingerIssuerService()
 
UserInfoService userInfoService
 
ConfigurationPropertiesBean config
 

詳解

著者
jricher

関数詳解

◆ search()

String org.mitre.uma.web.UserClaimSearchHelper.search ( @RequestParam(value="identifier") String  email,
Model  m,
Authentication  auth,
HttpServletRequest  req 
)
inline
68  {
69 
70  // check locally first
71  UserInfo localUser = userInfoService.getByEmailAddress(email);
72 
73  if (localUser != null) {
74  Map<String, Object> e = new HashMap<>();
75  e.put("issuer", ImmutableSet.of(config.getIssuer()));
76  e.put("name", "email");
77  e.put("value", localUser.getEmail());
78 
79  Map<String, Object> ev = new HashMap<>();
80  ev.put("issuer", ImmutableSet.of(config.getIssuer()));
81  ev.put("name", "email_verified");
82  ev.put("value", localUser.getEmailVerified());
83 
84  Map<String, Object> s = new HashMap<>();
85  s.put("issuer", ImmutableSet.of(config.getIssuer()));
86  s.put("name", "sub");
87  s.put("value", localUser.getSub());
88 
89  m.addAttribute(JsonEntityView.ENTITY, ImmutableSet.of(e, ev, s));
90  return JsonEntityView.VIEWNAME;
91  } else {
92 
93  // otherwise do a webfinger lookup
94  IssuerServiceResponse resp = webfingerIssuerService.getIssuer(req);
95 
96  if (resp != null && resp.getIssuer() != null) {
97  // we found an issuer, return that
98  Map<String, Object> e = new HashMap<>();
99  e.put("issuer", ImmutableSet.of(resp.getIssuer()));
100  e.put("name", "email");
101  e.put("value", email);
102 
103  Map<String, Object> ev = new HashMap<>();
104  ev.put("issuer", ImmutableSet.of(resp.getIssuer()));
105  ev.put("name", "email_verified");
106  ev.put("value", true);
107 
108  m.addAttribute(JsonEntityView.ENTITY, ImmutableSet.of(e, ev));
109  return JsonEntityView.VIEWNAME;
110  } else {
111  m.addAttribute(HttpCodeView.CODE, HttpStatus.NOT_FOUND);
112  return JsonErrorView.VIEWNAME;
113  }
114  }
115  }
WebfingerIssuerService webfingerIssuerService
Definition: UserClaimSearchHelper.java:58
IssuerServiceResponse getIssuer(HttpServletRequest request)
Definition: WebfingerIssuerService.java:109
UserInfoService userInfoService
Definition: UserClaimSearchHelper.java:61
ConfigurationPropertiesBean config
Definition: UserClaimSearchHelper.java:64
String getIssuer()
Definition: ConfigurationPropertiesBean.java:100

メンバ詳解

◆ config

ConfigurationPropertiesBean org.mitre.uma.web.UserClaimSearchHelper.config
private

◆ URL

final String org.mitre.uma.web.UserClaimSearchHelper.URL = RootController.API_URL + "/emailsearch"
static

◆ userInfoService

UserInfoService org.mitre.uma.web.UserClaimSearchHelper.userInfoService
private

◆ webfingerIssuerService

WebfingerIssuerService org.mitre.uma.web.UserClaimSearchHelper.webfingerIssuerService = new WebfingerIssuerService()
private

このクラス詳解は次のファイルから抽出されました: