diff options
Diffstat (limited to 'OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs')
-rw-r--r-- | OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs b/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs index 18cef15..66a26fc 100644 --- a/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs +++ b/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs | |||
@@ -147,7 +147,7 @@ namespace OpenSim.Server.Handlers.Authentication | |||
147 | #endregion | 147 | #endregion |
148 | } | 148 | } |
149 | 149 | ||
150 | public class OpenIdStreamHandler : IStreamHandler | 150 | public class OpenIdStreamHandler : BaseOutputStreamHandler |
151 | { | 151 | { |
152 | #region HTML | 152 | #region HTML |
153 | 153 | ||
@@ -191,42 +191,34 @@ For more information, see <a href='http://openid.net/'>http://openid.net/</a>. | |||
191 | 191 | ||
192 | #endregion HTML | 192 | #endregion HTML |
193 | 193 | ||
194 | public string Name { get { return "OpenId"; } } | ||
195 | public string Description { get { return null; } } | ||
196 | public string ContentType { get { return m_contentType; } } | ||
197 | public string HttpMethod { get { return m_httpMethod; } } | ||
198 | public string Path { get { return m_path; } } | ||
199 | |||
200 | string m_contentType; | ||
201 | string m_httpMethod; | ||
202 | string m_path; | ||
203 | IAuthenticationService m_authenticationService; | 194 | IAuthenticationService m_authenticationService; |
204 | IUserAccountService m_userAccountService; | 195 | IUserAccountService m_userAccountService; |
205 | ProviderMemoryStore m_openidStore = new ProviderMemoryStore(); | 196 | ProviderMemoryStore m_openidStore = new ProviderMemoryStore(); |
206 | 197 | ||
198 | public override string ContentType { get { return "text/html"; } } | ||
199 | |||
207 | /// <summary> | 200 | /// <summary> |
208 | /// Constructor | 201 | /// Constructor |
209 | /// </summary> | 202 | /// </summary> |
210 | public OpenIdStreamHandler(string httpMethod, string path, IUserAccountService userService, IAuthenticationService authService) | 203 | public OpenIdStreamHandler( |
204 | string httpMethod, string path, IUserAccountService userService, IAuthenticationService authService) | ||
205 | : base(httpMethod, path, "OpenId", "OpenID stream handler") | ||
211 | { | 206 | { |
212 | m_authenticationService = authService; | 207 | m_authenticationService = authService; |
213 | m_userAccountService = userService; | 208 | m_userAccountService = userService; |
214 | m_httpMethod = httpMethod; | ||
215 | m_path = path; | ||
216 | |||
217 | m_contentType = "text/html"; | ||
218 | } | 209 | } |
219 | 210 | ||
220 | /// <summary> | 211 | /// <summary> |
221 | /// Handles all GET and POST requests for OpenID identifier pages and endpoint | 212 | /// Handles all GET and POST requests for OpenID identifier pages and endpoint |
222 | /// server communication | 213 | /// server communication |
223 | /// </summary> | 214 | /// </summary> |
224 | public void Handle(string path, Stream request, Stream response, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) | 215 | protected override void ProcessRequest( |
216 | string path, Stream request, Stream response, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) | ||
225 | { | 217 | { |
226 | Uri providerEndpoint = new Uri(String.Format("{0}://{1}{2}", httpRequest.Url.Scheme, httpRequest.Url.Authority, httpRequest.Url.AbsolutePath)); | 218 | Uri providerEndpoint = new Uri(String.Format("{0}://{1}{2}", httpRequest.Url.Scheme, httpRequest.Url.Authority, httpRequest.Url.AbsolutePath)); |
227 | 219 | ||
228 | // Defult to returning HTML content | 220 | // Defult to returning HTML content |
229 | m_contentType = "text/html"; | 221 | httpResponse.ContentType = ContentType; |
230 | 222 | ||
231 | try | 223 | try |
232 | { | 224 | { |
@@ -276,7 +268,7 @@ For more information, see <a href='http://openid.net/'>http://openid.net/</a>. | |||
276 | 268 | ||
277 | string[] contentTypeValues = provider.Request.Response.Headers.GetValues("Content-Type"); | 269 | string[] contentTypeValues = provider.Request.Response.Headers.GetValues("Content-Type"); |
278 | if (contentTypeValues != null && contentTypeValues.Length == 1) | 270 | if (contentTypeValues != null && contentTypeValues.Length == 1) |
279 | m_contentType = contentTypeValues[0]; | 271 | httpResponse.ContentType = contentTypeValues[0]; |
280 | 272 | ||
281 | // Set the response code and document body based on the OpenID result | 273 | // Set the response code and document body based on the OpenID result |
282 | httpResponse.StatusCode = (int)provider.Request.Response.Code; | 274 | httpResponse.StatusCode = (int)provider.Request.Response.Code; |
@@ -344,4 +336,4 @@ For more information, see <a href='http://openid.net/'>http://openid.net/</a>. | |||
344 | return false; | 336 | return false; |
345 | } | 337 | } |
346 | } | 338 | } |
347 | } | 339 | } \ No newline at end of file |