Last modified by christoph_lechleitner@iteg_at on 2013-02-02 05.47:41

From version 2.1
edited by christoph_lechleitner@iteg_at
on 2012-09-21 12.40:24
Change comment: Completed operation list
To version 1.1
edited by christoph_lechleitner@iteg_at
on 2012-09-21 11.47:16
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,4 +1,4 @@
1 -== {{id name="HTTPauthenticationAPING-Motivation"/}}Motivation ==
1 +=== {{id name="HTTPauthenticationAPING-Motivation"/}}Motivation ===
2 2  
3 3  {{code language="none"}}org.clazzes.login.http{{/code}} is a the HTTP based implementation of [[DomainPasswordLoginService>>confluencePage:page:LOGIN.(HTTP)Login Service NG: DomainPasswordLoginService]].
4 4  
... ... @@ -6,14 +6,8 @@
6 6  
7 7  This document speficies the next-gen HTTP authentication API.
8 8  
9 -== {{id name="HTTPauthenticationAPING-Contents"/}}Contents ==
9 +=== {{id name="HTTPauthenticationAPING-BasicRequestpattern"/}}Basic Request pattern ===
10 10  
11 -{{toc depth="4" start="2"/}}
12 -
13 -== {{id name="HTTPauthenticationAPING-BasicHandshakePattern"/}}Basic Handshake Pattern ==
14 -
15 -==== {{id name="HTTPauthenticationAPING-BasicRequestPattern"/}}Basic Request Pattern ====
16 -
17 17  A request to an authentication URL is a HTTPS POST request like this:
18 18  
19 19  {{code}}
... ... @@ -21,17 +21,17 @@
21 21  Host: auth.my.domain
22 22  Content-Type: application/x-www-form-urlencoded
23 23  
24 -op=<op>&param1=<value1>&param2=<value2>
18 +[op=<op>&]param1=<value1>&param2=<value2>
25 25  
26 26  {{/code}}
27 27  
28 28  {{code language="none"}}<op>{{/code}} is the operation requested, usually the name of the method in [[DomainPasswordLoginService.java>>url:https://svn.clazzes.org/svn/util/trunk/clazzes-util/src/main/java/org/clazzes/util/sec/DomainPasswordLoginService.java||shape="rect"]].
29 29  
30 -To provide backwards compatibility, the {{code language="none"}}op{{/code}} parameter is optional and defaults to {{code language="none"}}tryLogin{{/code}}.
24 +To provide backwards compatibility, the op parameter is optional and defaults to {{code language="none"}}tryLogin{{/code}}.
31 31  
32 -See below for detailed examples.
26 +See below for examples.
33 33  
34 -==== {{id name="HTTPauthenticationAPING-BasicResponsepattern"/}}Basic Response pattern ====
28 +=== {{id name="HTTPauthenticationAPING-BasicResponsepattern"/}}Basic Response pattern ===
35 35  
36 36  Every respond to an authentication request is answered with a HTTP response with
37 37  
... ... @@ -45,35 +45,23 @@
45 45  {{code}}
46 46  200 OK - login is ok, or other operation was completed successfully
47 47  403 Forbidden - the login is invalid or the operation is not permitted
48 -404 Not found - if a user could not be found during a search operation
49 49  406 Not Acceptable - too many unsuccessful authentications, or other reason to suspect a brute force attack
50 50  
51 51  {{/code}}
52 52  
53 -(% style="color: rgb(0,0,0);" %)The response body must not be empty and must be UTF-8 encoded, it's content is specified differently for each operation.
46 +(% style="color: rgb(0,0,0);" %)The response body must not be empty, it's content is specified differently for each operation.
54 54  
55 -(% style="color: rgb(0,0,0);" %)For most operations the reponse is either
48 +(% style="color: rgb(0,0,0);" %) (%%)The server may enforce the use of HTTP basic authentication in order to keep offending servers away from dictionary attacks.
56 56  
57 -* (% style="color: rgb(0,0,0);" %)a short message for logging (not more than 1024 bytes)
58 -* (% style="color: rgb(0,0,0);" %)or a list of values separated by '{{code language="none"}},{{/code}}'
59 -* (% style="color: rgb(0,0,0);" %)or '{{code language="none"}}-{{/code}}' for "empty list"/"no data"
60 -* (% style="color: rgb(0,0,0);" %)or '{{code language="none"}}–-{{/code}}' for "not supported by backend"
50 +=== {{id name="HTTPauthenticationAPING-Authenticationoperation:tryLogin"/}}Authentication operation: tryLogin ===
61 61  
62 -The server may enforce the use of HTTP basic authentication in order to keep offending servers away from dictionary attacks.
63 -
64 -== {{id name="HTTPauthenticationAPING-Requiredoperations"/}}Required operations ==
65 -
66 -==== {{id name="HTTPauthenticationAPING-tryLogin"/}}tryLogin ====
67 -
68 68  Request body (new format, preferred):
69 69  
70 70  {{code}}
71 -op=tryLogin&user=<user>&domain=<domain>&passwd=<passwd>
55 +op=tryLogin&user=<user>&passwd=<passwd>
72 72  
73 73  {{/code}}
74 74  
75 -The {{code language="none"}}domain{{/code}} parameter is optional.
76 -
77 77  Request body in old format, supported for backward compatibility reasons:
78 78  
79 79  {{code}}
... ... @@ -82,131 +82,8 @@
82 82  
83 83  Response body:
84 84  
85 -(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)Non-empty information text, not more (% style="color: rgb(0,0,0);" %)than 1024 bytes. The message may go into logfiles and should not be displayed to the user.
67 +(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)Non-empty information text encoded in UTF-8, not more (% style="color: rgb(0,0,0);" %)than 1024 bytes. The message may go into logfiles and should not be displayed to the user.
86 86  
87 -==== {{id name="HTTPauthenticationAPING-getSupportedOperations"/}}getSupportedOperations ====
69 +=== {{id name="HTTPauthenticationAPING-Furtheroperations:TBD"/}}(% style="color: rgb(0,0,0);" %)Further operations: TBD(%%) ===
88 88  
89 -Request body (new format, preferred):
90 -
91 -{{code}}
92 -op=getSupportedFeatures
93 -{{/code}}
94 -
95 -Response body:(% style="color: rgb(0,0,0);" %)
96 -
97 -(% style="color: rgb(0,0,0);" %)List of suppored operations, separated by '{{code language="none"}},{{/code}}'.
98 -
99 -(% style="color: rgb(0,0,0);" %)Example showing minimal feature set:
100 -
101 -{{code language="none"}}
102 -getSupportedOperations,tryLogin
103 -{{/code}}
104 -
105 -(% style="color: rgb(0,0,0);" %)Example specifying maximum feature set:
106 -
107 -{{code language="none"}}
108 -getSupportedOperations,tryLogin,changePassword,deactivateUser,getDefaultDomain,getGroups,sendPassword,searchUser
109 -{{/code}}
110 -
111 -== {{id name="HTTPauthenticationAPING-OptionalOperations"/}}(% style="color: rgb(0,0,0);" %)Optional Operations(%%) ==
112 -
113 -==== {{id name="HTTPauthenticationAPING-changePassword"/}}changePassword ====
114 -
115 -Changes the password of the user.
116 -
117 -Request body:
118 -
119 -{{code}}
120 -op=changePassword&user=<user>&domain=<domain>&oldPassword=<oldPassword>&newPassword=<newPassword>&newPasswordConfirmed=<newPassword>
121 -
122 -{{/code}}
123 -
124 -The {{code language="none"}}domain{{/code}} parameter is optional.
125 -
126 -The {{code language="none"}}newPasswordConfirmed{{/code}} parameter is optional and available only to simplify writing web interfaces. If it is specified and does not match {{code language="none"}}newPassword{{/code}}, the password is not changed.
127 -
128 -Response body:
129 -
130 -(% style="color: rgb(0,0,0);" %)Non-empty information text, not more than 1024 bytes. The message may go into logfiles and should not be displayed to the user.
131 -
132 -==== {{id name="HTTPauthenticationAPING-deactivateUser"/}}deactivateUser ====
133 -
134 -Deactivates a user, prevents him for logging in again.
135 -
136 -Request body:
137 -
138 -{{code}}
139 -op=deactivateUser&user=<user>&domain=<domain>
140 -{{/code}}
141 -
142 -The {{code language="none"}}domain{{/code}} parameter is optional.
143 -
144 -Response body:
145 -
146 -(% style="color: rgb(0,0,0);" %)Non-empty information text, not more than 1024 bytes. The message may go into logfiles and should not be displayed to the user.
147 -
148 -==== {{id name="HTTPauthenticationAPING-getDefaultDomain"/}}getDefaultDomain ====
149 -
150 -Returns the default domain, if there is any.
151 -
152 -Request body (new format, preferred):
153 -
154 -{{code}}
155 -op=getDefaultDomain
156 -
157 -{{/code}}
158 -
159 -Response body:(% style="color: rgb(0,0,0);" %)
160 -
161 -Default authentication domain, or '{{code language="none"}}-{{/code}}' if there is no default domain, or '{{code language="none"}}--{{/code}}' if there is no domain support at all.
162 -
163 -==== {{id name="HTTPauthenticationAPING-getGroups"/}}getGroups ====
164 -
165 -Returns the groups the user is a member of.
166 -
167 -Request body:
168 -
169 -{{code}}
170 -op=searchUser&user=<user>&domain=<domain>
171 -{{/code}}
172 -
173 -The {{code language="none"}}domain{{/code}} parameter is optional.
174 -
175 -Response body:
176 -
177 -(% style="color: rgb(0,0,0);" %)List of group names, separated by '{{code language="none"}},{{/code}}' or just '{{code language="none"}}-{{/code}}' if the user is not member of any group, or '{{code language="none"}}--{{/code}}' if there is no group support.
178 -
179 -==== {{id name="HTTPauthenticationAPING-sendPassword"/}}sendPassword ====
180 -
181 -Generates a new password or send a "new password" link to the user.
182 -
183 -Request body:
184 -
185 -{{code}}
186 -op=sendPassword&user=<user>&domain=<domain>
187 -
188 -{{/code}}
189 -
190 -The {{code language="none"}}domain{{/code}} parameter is optional.
191 -
192 -Response body:
193 -
194 -(% style="color: rgb(0,0,0);" %)Non-empty information text, not more than 1024 bytes. The message may go into logfiles and should not be displayed to the user.
195 -
196 -==== {{id name="HTTPauthenticationAPING-searchUser"/}}searchUser ====
197 -
198 -Searches a user in the database, sets response code to 200 if the user is there, 404 if the user could not be found.
199 -
200 -Request body:
201 -
202 -{{code}}
203 -op=searchUser&user=<user>&domain=<domain>
204 -{{/code}}
205 -
206 -The {{code language="none"}}domain{{/code}} parameter is optional.
207 -
208 -Response body:
209 -
210 -(% style="color: rgb(0,0,0);" %)Non-empty information text, not more than 1024 bytes. The message may go into logfiles and should not be displayed to the user.
211 -
212 -
71 +(% style="color: rgb(0,0,0);" %)\\
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -688675
1 +688674
URL
... ... @@ -1,1 +1,1 @@
1 -https://clazzes.atlassian.net/wiki/spaces/LOGIN/pages/688675/HTTP authentication API NG
1 +https://clazzes.atlassian.net/wiki/spaces/LOGIN/pages/688674/HTTP authentication API NG