Diff of /trunk/Utils.cs
Parent Directory
|
Revision Log
|
Patch
| revision 23, Tue Nov 11 16:44:14 2008 UTC | revision 24, Fri Nov 14 21:10:28 2008 UTC | |
|---|---|---|
| # | Line 28 | Line 28 |
| 28 | */ | */ |
| 29 | ||
| 30 | using System; | using System; |
| 31 | using System.Collections.Specialized; | |
| 32 | using System.Net; | |
| 33 | using OpenMetaverse; | using OpenMetaverse; |
| 34 | ||
| 35 | namespace AssetServer | namespace AssetServer |
| # | Line 111 | Line 113 |
| 113 | break; | break; |
| 114 | } | } |
| 115 | } | } |
| 116 | ||
| 117 | public static UUID GetAuthToken(HttpListenerRequest request) | |
| 118 | { | |
| 119 | UUID authToken = UUID.Zero; | |
| 120 | ||
| 121 | string[] authHeader = request.Headers.GetValues("Authorization"); | |
| 122 | if (authHeader != null && authHeader.Length == 1) | |
| 123 | { | |
| 124 | // Example header: | |
| 125 | // Authorization: OpenGrid 65fda0b5-4446-42f5-b828-aaf644293646 | |
| 126 | string[] authHeaderParts = authHeader[0].Split(' '); | |
| 127 | if (authHeaderParts.Length == 2 && authHeaderParts[0] == "OpenGrid") | |
| 128 | UUID.TryParse(authHeaderParts[1], out authToken); | |
| 129 | } | |
| 130 | ||
| 131 | if (authToken == UUID.Zero && request.Cookies.Count > 0) | |
| 132 | { | |
| 133 | // Check for an authToken cookie to logins browser-compatible | |
| 134 | Cookie authCookie = request.Cookies["authToken"]; | |
| 135 | if (authCookie != null) | |
| 136 | UUID.TryParse(authCookie.Value, out authToken); | |
| 137 | } | |
| 138 | ||
| 139 | return authToken; | |
| 140 | } | |
| 141 | } | } |
| 142 | } | } |
|
||||||||
| ViewVC Help | |
| Powered by ViewVC 1.0.0 |

