gluu
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.xdi.oxauth.uma.service.UmaSessionService クラス
org.xdi.oxauth.uma.service.UmaSessionService 連携図
Collaboration graph

公開メンバ関数

SessionId getConnectSession (HttpServletRequest httpRequest)
 
SessionId getSession (HttpServletRequest httpRequest, HttpServletResponse httpResponse)
 
boolean persist (SessionId session)
 
int getStep (SessionId session)
 
void setStep (int step, SessionId session)
 
void configure (SessionId session, String scriptName, Boolean reset, List< UmaPermission > permissions, String clientId, String claimRedirectUri, String state)
 
boolean isStepPassed (SessionId session, Integer step)
 
boolean isPassedPreviousSteps (SessionId session, Integer step)
 
void markStep (SessionId session, Integer step, boolean value)
 
String getScriptName (SessionId session)
 
void setScriptName (SessionId session, String scriptName)
 
String getPct (SessionId session)
 
void setPct (SessionId session, String pct)
 
String getClientId (SessionId session)
 
void setClientId (SessionId session, String clientId)
 
String getClaimsRedirectUri (SessionId session)
 
void setClaimsRedirectUri (SessionId session, String claimsRedirectUri)
 
String getState (SessionId session)
 
void setState (SessionId session, String state)
 
String getTicket (SessionId session)
 
void setTicket (SessionId session, String ticket)
 
void resetToStep (SessionId session, int overridenNextStep, int step)
 
User getUser (HttpServletRequest httpRequest, String... returnAttributes)
 
String getUserDn (HttpServletRequest httpRequest)
 
Client getClient (SessionId session)
 

非公開変数類

Logger log
 
SessionIdService sessionIdService
 
UserService userService
 
ClientService clientService
 

詳解

著者
yuriyz
バージョン
August 9, 2017

関数詳解

◆ configure()

void org.xdi.oxauth.uma.service.UmaSessionService.configure ( SessionId  session,
String  scriptName,
Boolean  reset,
List< UmaPermission permissions,
String  clientId,
String  claimRedirectUri,
String  state 
)
inline
105  {
106 // if (reset != null && reset) {
107  setStep(1, session);
108 // }
109  setState(session, state);
110  setClaimsRedirectUri(session, claimRedirectUri);
111  setTicket(session, permissions.get(0).getTicket());
112 
113 // if (StringUtils.isBlank(getScriptName(session))) {
114  setScriptName(session, scriptName);
115 // }
116 
117 // if (StringUtils.isBlank(getPct(session))) {
118  String pct = permissions.get(0).getAttributes().get("pct");
119 
120  if (StringUtils.isBlank(pct)) {
121  log.error("PCT code is null or blank in permission object.");
122  throw new RuntimeException("PCT code is null or blank in permission object.");
123  }
124 
125  setPct(session, pct);
126 // }
127 
128 // if (StringUtils.isBlank(getClientId(session))) {
129  setClientId(session, clientId);
130 // }
131 
132 // getStep(session); // init step
133  persist(session);
134  }
void setState(SessionId session, String state)
Definition: UmaSessionService.java:194
void setClaimsRedirectUri(SessionId session, String claimsRedirectUri)
Definition: UmaSessionService.java:186
void setPct(SessionId session, String pct)
Definition: UmaSessionService.java:170
boolean persist(SessionId session)
Definition: UmaSessionService.java:78
void setStep(int step, SessionId session)
Definition: UmaSessionService.java:100
void setClientId(SessionId session, String clientId)
Definition: UmaSessionService.java:178
void setScriptName(SessionId session, String scriptName)
Definition: UmaSessionService.java:162
void setTicket(SessionId session, String ticket)
Definition: UmaSessionService.java:202
Logger log
Definition: UmaSessionService.java:37

◆ getClaimsRedirectUri()

String org.xdi.oxauth.uma.service.UmaSessionService.getClaimsRedirectUri ( SessionId  session)
inline
182  {
183  return session.getSessionAttributes().get("claims_redirect_uri");
184  }

◆ getClient()

Client org.xdi.oxauth.uma.service.UmaSessionService.getClient ( SessionId  session)
inline
233  {
234  String clientId = getClientId(session);
235  if (StringUtils.isNotBlank(clientId)) {
236  return clientService.getClient(clientId);
237  }
238  log.trace("client_id is not in session.");
239  return null;
240  }
ClientService clientService
Definition: UmaSessionService.java:43
String getClientId(SessionId session)
Definition: UmaSessionService.java:174
Set< Client > getClient(Collection< String > clientIds, boolean silent)
Definition: ClientService.java:123
Logger log
Definition: UmaSessionService.java:37

◆ getClientId()

String org.xdi.oxauth.uma.service.UmaSessionService.getClientId ( SessionId  session)
inline
174  {
175  return session.getSessionAttributes().get("client_id");
176  }

◆ getConnectSession()

SessionId org.xdi.oxauth.uma.service.UmaSessionService.getConnectSession ( HttpServletRequest  httpRequest)
inline
45  {
46  String cookieId = sessionIdService.getSessionIdFromCookie(httpRequest);
47  log.trace("Cookie - session_id: " + cookieId);
48  if (StringUtils.isNotBlank(cookieId)) {
49  return sessionIdService.getSessionId(cookieId);
50  }
51  return null;
52  }
SessionId getSessionId()
Definition: SessionIdService.java:360
SessionIdService sessionIdService
Definition: UmaSessionService.java:39
String getSessionIdFromCookie(HttpServletRequest request)
Definition: SessionIdService.java:237
Logger log
Definition: UmaSessionService.java:37

◆ getPct()

String org.xdi.oxauth.uma.service.UmaSessionService.getPct ( SessionId  session)
inline
166  {
167  return session.getSessionAttributes().get("pct");
168  }

◆ getScriptName()

String org.xdi.oxauth.uma.service.UmaSessionService.getScriptName ( SessionId  session)
inline
158  {
159  return session.getSessionAttributes().get("gather_script_name");
160  }

◆ getSession()

SessionId org.xdi.oxauth.uma.service.UmaSessionService.getSession ( HttpServletRequest  httpRequest,
HttpServletResponse  httpResponse 
)
inline
54  {
55  String cookieId = sessionIdService.getUmaSessionIdFromCookie(httpRequest);
56  log.trace("Cookie - uma_session_id: " + cookieId);
57 
58  if (StringUtils.isNotBlank(cookieId)) {
59  SessionId sessionId = sessionIdService.getSessionId(cookieId);
60  if (sessionId != null) {
61  log.trace("Loaded uma_session_id from cookie, session: " + sessionId);
62  return sessionId;
63  } else {
64  log.error("Failed to load uma_session_id from cookie: " + cookieId);
65  }
66  } else {
67  log.error("uma_session_id cookie is not set.");
68  }
69 
70  log.trace("Generating new uma_session_id ...");
71  SessionId session = sessionIdService.generateAuthenticatedSessionId(httpRequest, "no");
72 
73  sessionIdService.createSessionIdCookie(session.getId(), session.getSessionState(), httpResponse, true);
74  log.trace("uma_session_id cookie created.");
75  return session;
76  }
SessionId getSessionId()
Definition: SessionIdService.java:360
SessionIdService sessionIdService
Definition: UmaSessionService.java:39
SessionId generateAuthenticatedSessionId(HttpServletRequest httpRequest, String userDn)
Definition: SessionIdService.java:378
void createSessionIdCookie(String sessionId, String sessionState, HttpServletResponse httpResponse, String cookieName)
Definition: SessionIdService.java:284
String getUmaSessionIdFromCookie(HttpServletRequest request)
Definition: SessionIdService.java:241
Logger log
Definition: UmaSessionService.java:37

◆ getState()

String org.xdi.oxauth.uma.service.UmaSessionService.getState ( SessionId  session)
inline
190  {
191  return session.getSessionAttributes().get("state");
192  }

◆ getStep()

int org.xdi.oxauth.uma.service.UmaSessionService.getStep ( SessionId  session)
inline
90  {
91  String stepString = session.getSessionAttributes().get("step");
92  int step = Util.parseIntSilently(stepString);
93  if (step == -1) {
94  step = 1;
95  setStep(step, session);
96  }
97  return step;
98  }
void setStep(int step, SessionId session)
Definition: UmaSessionService.java:100

◆ getTicket()

String org.xdi.oxauth.uma.service.UmaSessionService.getTicket ( SessionId  session)
inline
198  {
199  return session.getSessionAttributes().get("ticket");
200  }

◆ getUser()

User org.xdi.oxauth.uma.service.UmaSessionService.getUser ( HttpServletRequest  httpRequest,
String...  returnAttributes 
)
inline
214  {
215  String userDn = getUserDn(httpRequest);
216  if (StringUtils.isNotBlank(userDn)) {
217  return userService.getUserByDn(userDn, returnAttributes);
218  }
219 
220  return null;
221  }
String getUserDn(HttpServletRequest httpRequest)
Definition: UmaSessionService.java:223
UserService userService
Definition: UmaSessionService.java:41
User getUserByDn(String dn, String... returnAttributes)
Definition: UserService.java:66

◆ getUserDn()

String org.xdi.oxauth.uma.service.UmaSessionService.getUserDn ( HttpServletRequest  httpRequest)
inline
223  {
224  SessionId connectSession = getConnectSession(httpRequest);
225  if (connectSession != null) {
226  return connectSession.getUserDn();
227  }
228 
229  log.trace("No logged in user.");
230  return null;
231  }
SessionId getConnectSession(HttpServletRequest httpRequest)
Definition: UmaSessionService.java:45
Logger log
Definition: UmaSessionService.java:37

◆ isPassedPreviousSteps()

boolean org.xdi.oxauth.uma.service.UmaSessionService.isPassedPreviousSteps ( SessionId  session,
Integer  step 
)
inline
140  {
141  for (int i = 1; i < step; i++) {
142  if (!isStepPassed(session, i)) {
143  return false;
144  }
145  }
146  return true;
147  }
boolean isStepPassed(SessionId session, Integer step)
Definition: UmaSessionService.java:136

◆ isStepPassed()

boolean org.xdi.oxauth.uma.service.UmaSessionService.isStepPassed ( SessionId  session,
Integer  step 
)
inline
136  {
137  return Boolean.parseBoolean(session.getSessionAttributes().get(String.format("uma_step_passed_%d", step)));
138  }

◆ markStep()

void org.xdi.oxauth.uma.service.UmaSessionService.markStep ( SessionId  session,
Integer  step,
boolean  value 
)
inline
149  {
150  String key = String.format("uma_step_passed_%d", step);
151  if (value) {
152  session.getSessionAttributes().put(key, Boolean.TRUE.toString());
153  } else {
154  session.getSessionAttributes().remove(key);
155  }
156  }

◆ persist()

boolean org.xdi.oxauth.uma.service.UmaSessionService.persist ( SessionId  session)
inline
78  {
79  try {
80  if (sessionIdService.persistSessionId(session, true)) {
81  log.trace("Session persisted successfully. Session: " + session);
82  return true;
83  }
84  } catch (Exception e) {
85  log.error("Failed to persist session, id: " + session.getId(), e);
86  }
87  return false;
88  }
SessionIdService sessionIdService
Definition: UmaSessionService.java:39
boolean persistSessionId(final SessionId sessionId)
Definition: SessionIdService.java:510
Logger log
Definition: UmaSessionService.java:37

◆ resetToStep()

void org.xdi.oxauth.uma.service.UmaSessionService.resetToStep ( SessionId  session,
int  overridenNextStep,
int  step 
)
inline
206  {
207  for (int i = overridenNextStep; i <= step; i++) {
208  markStep(session, i, false);
209  }
210 
211  setStep(overridenNextStep, session);
212  }
void markStep(SessionId session, Integer step, boolean value)
Definition: UmaSessionService.java:149
void setStep(int step, SessionId session)
Definition: UmaSessionService.java:100

◆ setClaimsRedirectUri()

void org.xdi.oxauth.uma.service.UmaSessionService.setClaimsRedirectUri ( SessionId  session,
String  claimsRedirectUri 
)
inline
186  {
187  session.getSessionAttributes().put("claims_redirect_uri", claimsRedirectUri);
188  }

◆ setClientId()

void org.xdi.oxauth.uma.service.UmaSessionService.setClientId ( SessionId  session,
String  clientId 
)
inline
178  {
179  session.getSessionAttributes().put("client_id", clientId);
180  }

◆ setPct()

void org.xdi.oxauth.uma.service.UmaSessionService.setPct ( SessionId  session,
String  pct 
)
inline
170  {
171  session.getSessionAttributes().put("pct", pct);
172  }

◆ setScriptName()

void org.xdi.oxauth.uma.service.UmaSessionService.setScriptName ( SessionId  session,
String  scriptName 
)
inline
162  {
163  session.getSessionAttributes().put("gather_script_name", scriptName);
164  }

◆ setState()

void org.xdi.oxauth.uma.service.UmaSessionService.setState ( SessionId  session,
String  state 
)
inline
194  {
195  session.getSessionAttributes().put("state", state);
196  }

◆ setStep()

void org.xdi.oxauth.uma.service.UmaSessionService.setStep ( int  step,
SessionId  session 
)
inline
100  {
101  session.getSessionAttributes().put("step", Integer.toString(step));
102  }

◆ setTicket()

void org.xdi.oxauth.uma.service.UmaSessionService.setTicket ( SessionId  session,
String  ticket 
)
inline
202  {
203  session.getSessionAttributes().put("ticket", ticket);
204  }

メンバ詳解

◆ clientService

ClientService org.xdi.oxauth.uma.service.UmaSessionService.clientService
private

◆ log

Logger org.xdi.oxauth.uma.service.UmaSessionService.log
private

◆ sessionIdService

SessionIdService org.xdi.oxauth.uma.service.UmaSessionService.sessionIdService
private

◆ userService

UserService org.xdi.oxauth.uma.service.UmaSessionService.userService
private

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