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

公開メンバ関数

 RedirectUri (String baseRedirectUri)
 
 RedirectUri (String baseRedirectUri, List< ResponseType > responseTypes, ResponseMode responseMode)
 
String getBaseRedirectUri ()
 
void setBaseRedirectUri (String baseRedirectUri)
 
ResponseMode getResponseMode ()
 
void setResponseMode (ResponseMode responseMode)
 
void addResponseParameter (String key, String value)
 
void parseQueryString (String queryString)
 
String getQueryString ()
 
String toString ()
 

非公開メンバ関数

void appendQuerySymbol (StringBuilder sb)
 
void appendFragmentSymbol (StringBuilder sb)
 

非公開変数類

String baseRedirectUri
 
List< ResponseTyperesponseTypes
 
ResponseMode responseMode
 
Map< String, String > responseParameters
 

詳解

著者
Javier Rojas Blum
バージョン
January 25, 2017

構築子と解体子

◆ RedirectUri() [1/2]

org.xdi.oxauth.util.RedirectUri.RedirectUri ( String  baseRedirectUri)
inline
34  {
36  this.responseMode = ResponseMode.QUERY;
37 
38  responseParameters = new HashMap<String, String>();
39  }
QUERY
Definition: ResponseMode.java:22
ResponseMode responseMode
Definition: RedirectUri.java:31
String baseRedirectUri
Definition: RedirectUri.java:29
Map< String, String > responseParameters
Definition: RedirectUri.java:32

◆ RedirectUri() [2/2]

org.xdi.oxauth.util.RedirectUri.RedirectUri ( String  baseRedirectUri,
List< ResponseType responseTypes,
ResponseMode  responseMode 
)
inline
41  {
42  this(baseRedirectUri);
45  }
List< ResponseType > responseTypes
Definition: RedirectUri.java:30
ResponseMode responseMode
Definition: RedirectUri.java:31
String baseRedirectUri
Definition: RedirectUri.java:29

関数詳解

◆ addResponseParameter()

void org.xdi.oxauth.util.RedirectUri.addResponseParameter ( String  key,
String  value 
)
inline
63  {
64  if (StringUtils.isNotBlank(key)) {
65  responseParameters.put(key, value);
66  }
67  }
Map< String, String > responseParameters
Definition: RedirectUri.java:32

◆ appendFragmentSymbol()

void org.xdi.oxauth.util.RedirectUri.appendFragmentSymbol ( StringBuilder  sb)
inlineprivate
120  {
121  if (!sb.toString().contains("#")) {
122  sb.append("#");
123  } else {
124  sb.append("&");
125  }
126  }

◆ appendQuerySymbol()

void org.xdi.oxauth.util.RedirectUri.appendQuerySymbol ( StringBuilder  sb)
inlineprivate
112  {
113  if (!sb.toString().contains("?")) {
114  sb.append("?");
115  } else {
116  sb.append("&");
117  }
118  }

◆ getBaseRedirectUri()

String org.xdi.oxauth.util.RedirectUri.getBaseRedirectUri ( )
inline
47  {
48  return baseRedirectUri;
49  }
String baseRedirectUri
Definition: RedirectUri.java:29

◆ getQueryString()

String org.xdi.oxauth.util.RedirectUri.getQueryString ( )
inline
93  {
94  StringBuilder sb = new StringBuilder();
95  for (Map.Entry<String, String> entry : responseParameters.entrySet()) {
96  if (sb.length() > 0) {
97  sb.append('&');
98  }
99  try {
100  sb.append(URLEncoder.encode(entry.getKey(), Util.UTF8_STRING_ENCODING));
101  if (entry.getValue() != null) {
102  sb.append('=').append(URLEncoder.encode(entry.getValue(), Util.UTF8_STRING_ENCODING));
103  }
104  } catch (UnsupportedEncodingException e) {
105  e.printStackTrace();
106  }
107  }
108 
109  return sb.toString();
110  }
Map< String, String > responseParameters
Definition: RedirectUri.java:32

◆ getResponseMode()

ResponseMode org.xdi.oxauth.util.RedirectUri.getResponseMode ( )
inline
55  {
56  return responseMode;
57  }
ResponseMode responseMode
Definition: RedirectUri.java:31

◆ parseQueryString()

void org.xdi.oxauth.util.RedirectUri.parseQueryString ( String  queryString)
inline
69  {
70  if (queryString != null) {
71  StringTokenizer st = new StringTokenizer(queryString, "&", false);
72  while (st.hasMoreElements()) {
73  String nameValueToken = st.nextElement().toString();
74 
75  StringTokenizer stParamValue = new StringTokenizer(nameValueToken, "=", false);
76 
77  if (stParamValue.countTokens() == 1) {
78  String paramName = stParamValue.nextElement().toString();
79  responseParameters.put(paramName, null);
80  } else if (stParamValue.countTokens() == 2) {
81  try {
82  String paramName = stParamValue.nextElement().toString();
83  String paramValue = URLDecoder.decode(stParamValue.nextElement().toString(), Util.UTF8_STRING_ENCODING);
84  responseParameters.put(paramName, paramValue);
85  } catch (UnsupportedEncodingException e) {
86  e.printStackTrace();
87  }
88  }
89  }
90  }
91  }
Map< String, String > responseParameters
Definition: RedirectUri.java:32

◆ setBaseRedirectUri()

void org.xdi.oxauth.util.RedirectUri.setBaseRedirectUri ( String  baseRedirectUri)
inline
51  {
53  }
String baseRedirectUri
Definition: RedirectUri.java:29

◆ setResponseMode()

void org.xdi.oxauth.util.RedirectUri.setResponseMode ( ResponseMode  responseMode)
inline
59  {
61  }
ResponseMode responseMode
Definition: RedirectUri.java:31

◆ toString()

String org.xdi.oxauth.util.RedirectUri.toString ( )
inline
129  {
130  StringBuilder sb = new StringBuilder(baseRedirectUri);
131 
132  if (responseParameters.size() > 0) {
133  if (responseMode != ResponseMode.FORM_POST) {
134  if (responseMode != null) {
135  if (responseMode == ResponseMode.QUERY) {
136  appendQuerySymbol(sb);
137  } else if (responseMode == ResponseMode.FRAGMENT) {
139  }
140  } else if (responseTypes != null && (responseTypes.contains(ResponseType.TOKEN) || responseTypes.contains(ResponseType.ID_TOKEN))) {
142  } else {
143  appendQuerySymbol(sb);
144  }
145  sb.append(getQueryString());
146  }
147 
148  if (responseMode == ResponseMode.FORM_POST) {
149  sb = new StringBuilder();
150  sb.append("<html>");
151  sb.append("<head><title>oxAuth - Submit This Form</title></head>");
152  sb.append("<body onload=\"javascript:document.forms[0].submit()\">");
153  //sb.append("<body>");
154  sb.append("<form method=\"post\" action=\"").append(baseRedirectUri).append("\">");
155  for (Map.Entry<String, String> entry : responseParameters.entrySet()) {
156  String entryValue = StringEscapeUtils.escapeHtml(entry.getValue());
157  sb.append("<input type=\"hidden\" name=\"").append(entry.getKey()).append("\" value=\"").append(entryValue).append("\"/>");
158  }
159  sb.append("</form>");
160  sb.append("</body>");
161  sb.append("</html>");
162  }
163  }
164  return sb.toString();
165  }
QUERY
Definition: ResponseMode.java:22
FRAGMENT
Definition: ResponseMode.java:27
FORM_POST
Definition: ResponseMode.java:33
List< ResponseType > responseTypes
Definition: RedirectUri.java:30
void appendQuerySymbol(StringBuilder sb)
Definition: RedirectUri.java:112
ResponseMode responseMode
Definition: RedirectUri.java:31
String getQueryString()
Definition: RedirectUri.java:93
String baseRedirectUri
Definition: RedirectUri.java:29
Map< String, String > responseParameters
Definition: RedirectUri.java:32
void appendFragmentSymbol(StringBuilder sb)
Definition: RedirectUri.java:120

メンバ詳解

◆ baseRedirectUri

String org.xdi.oxauth.util.RedirectUri.baseRedirectUri
private

◆ responseMode

ResponseMode org.xdi.oxauth.util.RedirectUri.responseMode
private

◆ responseParameters

Map<String, String> org.xdi.oxauth.util.RedirectUri.responseParameters
private

◆ responseTypes

List<ResponseType> org.xdi.oxauth.util.RedirectUri.responseTypes
private

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