Time |
S |
Nick |
Message |
00:11 |
|
|
warehouse13 joined #rest |
00:30 |
|
|
digitalsanctum joined #rest |
00:32 |
|
|
fumanchu joined #rest |
00:48 |
|
|
pgicxplzs joined #rest |
01:02 |
|
|
azer_ joined #rest |
01:18 |
|
|
shrink0r_ joined #rest |
01:20 |
|
|
Left_Turn joined #rest |
02:46 |
|
|
Jefffrey joined #rest |
02:49 |
|
|
shrink0r joined #rest |
04:47 |
|
|
dreamdust joined #rest |
08:18 |
|
|
azer_ joined #rest |
08:34 |
|
|
Andre-B joined #rest |
08:51 |
|
|
azer_ joined #rest |
08:56 |
|
|
interop_madness joined #rest |
09:30 |
|
|
Gue______ joined #rest |
09:36 |
|
|
shrink0r joined #rest |
09:47 |
|
|
_ollie joined #rest |
09:49 |
|
|
Left_Turn joined #rest |
10:24 |
|
|
graste joined #rest |
11:23 |
|
|
vanHoesel joined #rest |
11:43 |
|
|
whatacold joined #rest |
11:51 |
|
|
Jefffrey joined #rest |
12:12 |
|
|
vanHoesel joined #rest |
12:24 |
|
|
mezod joined #rest |
12:52 |
|
|
jcromartie joined #rest |
13:07 |
|
|
azer_ joined #rest |
13:10 |
|
|
azer_ joined #rest |
13:57 |
|
|
Mxyzpltk joined #rest |
14:19 |
|
|
shrink0r joined #rest |
15:01 |
|
|
Mxyzpltk_ joined #rest |
15:02 |
|
|
jackalista joined #rest |
15:05 |
|
|
saml joined #rest |
15:45 |
|
|
proteusguy joined #rest |
15:55 |
|
|
Mxyzpltk__ joined #rest |
15:57 |
|
|
seantallen joined #rest |
16:10 |
|
|
dEPy joined #rest |
16:23 |
|
|
Mxyzpltk__ joined #rest |
16:40 |
|
|
Mxyzpltk__ joined #rest |
16:55 |
|
|
Mxyzpltk__ joined #rest |
17:12 |
|
|
lemur joined #rest |
17:12 |
|
|
interop_madness joined #rest |
17:22 |
|
|
fumanchu_ joined #rest |
17:28 |
|
|
vanHoesel joined #rest |
17:37 |
|
|
shrink0r joined #rest |
17:50 |
|
|
Mxyzpltk__ joined #rest |
18:02 |
|
|
Mxyzpltk joined #rest |
18:13 |
|
|
Andre-B joined #rest |
18:23 |
|
|
azr joined #rest |
18:32 |
|
|
Judasbricot joined #rest |
18:43 |
|
|
graste joined #rest |
19:05 |
|
|
kibibyte joined #rest |
19:05 |
|
kibibyte |
hi |
19:05 |
|
kibibyte |
anytone here |
19:07 |
|
Judasbricot |
hi |
19:10 |
|
kibibyte |
i have question about proper rest design : is it good idea to have some resources protected by i.e password and some not like : /users/{id}/ (no password) /users/{id}/orders/2 (password needed) |
19:13 |
|
Judasbricot |
i guess for authentification purpose, you should use something like OAuth2 |
19:15 |
|
kibibyte |
but abstracting from authentication |
19:16 |
|
whartung |
there's nothing wrong with having restrictions at any granularity kibibyte |
19:16 |
|
whartung |
simple example |
19:16 |
|
whartung |
one person can see /users/1 |
19:16 |
|
whartung |
while another can see /users/2 |
19:16 |
|
whartung |
but they can't see each other |
19:17 |
|
whartung |
nor is it a problem if user A sees one version of /users/1 while user B sees a different versions because they have different rights to the data |
19:19 |
|
kibibyte |
whartung, and how to solve issue like: i forgot my password . i.e i have resource like /users/me /pass. /user/me is password protected . but to reset my password i need to have i.e POST /users/me /pass not protected |
19:19 |
|
whartung |
unless you;re sharing trust (Service X wants to access User U's data at Service Y), there's no reason to do anything beyond HTTP BASIC or DIGEST |
19:20 |
|
kibibyte |
and its kind a inconsistent that /user/me is password protected and POST /users/me /pass not protected |
19:20 |
|
kibibyte |
./users/me/pass not protected |
19:21 |
|
kibibyte |
so how to di it right way |
19:21 |
|
whartung |
/shrug a good security framework basically gives you an Identity and a the Identity gives you a list of Roles/Privileges/Rights/whatever you want to call them. It's up to your code interpret the rights properly when you process the request. |
19:21 |
|
kibibyte |
consistent |
19:22 |
|
kibibyte |
i know but on rest URL level |
19:22 |
|
whartung |
clearly a high level "secure everything" approach won't work in this case. |
19:22 |
|
whartung |
you need finer grain control |
19:23 |
|
whartung |
why not simply POST 'me' to /recoverpassword ? |
19:24 |
|
fumanchu_ |
a stateful way to spell that would be to have a "has_valid_password" attribute which the client sets to False |
19:25 |
|
whartung |
but does setting that state necessary start the workflow to do tha actual recovery vs simply record the fact of the status? |
19:26 |
|
fumanchu_ |
that's up to the implementation hidden behind the API |
19:26 |
|
whartung |
you coul dargue the status is set by the start of the recovery process, rather than the other way around. |
19:27 |
|
fumanchu_ |
not in a state-transfer architecture |
19:27 |
|
fumanchu_ |
you could argue it's better to not follow the stateful arch here, which I might agree with :) |
19:27 |
|
whartung |
I'm not a big fan of state changes having side effects, myself, I like to be more pro-active (outside of things like logging and auditing) |
19:28 |
|
kibibyte |
hm /recoverpassword > i thought its good practive tou not use verbs |
19:28 |
|
* fumanchu_ |
points at #rpc on the other side of the IRC server |
19:29 |
|
_ollie |
kibibyte: nobody should care about what letters a URI consists of… |
19:29 |
|
_ollie |
no client, to be precise… |
19:29 |
|
fumanchu_ |
thanks _ollie :) |
19:30 |
|
kibibyte |
no but like PUT /users/1/password seems better than /users/1/update_password |
19:30 |
|
_ollie |
it couldn't matter less… |
19:30 |
|
whartung |
that said, I find /recover_password easier to code, work with and debug instead of /875776D3-9309-4CB2-8933-6747DE6972DA |
19:31 |
|
fumanchu_ |
it couldn't matter less to the machine executing the navigation of the application state. it matters a great deal to the human coding that app when reading your docs |
19:31 |
|
_ollie |
fumanchu_: not if you're using hypermedia… |
19:31 |
|
fumanchu_ |
yes, even then |
19:31 |
|
fumanchu_ |
hypermedia is not capable of machine-encoding all semantics |
19:32 |
|
kibibyte |
whartung, and what in case of users: you gonna have ; /useradd /userdel /userupdate and you can achive same with POST, PUT,DELETE /user/ |
19:32 |
|
whartung |
the big point kibibyte is not that recover_password is a good or bad "URL", it's that typically when people fixate on the URLs, they're focusing on the wrong part of the problem of a REST design |
19:33 |
|
whartung |
find, POST to /password_recovery_queue |
19:33 |
|
kibibyte |
hm |
19:33 |
|
kibibyte |
ugly |
19:34 |
|
* whartung |
snorts |
19:34 |
|
kibibyte |
i have PUT /users/{id}/password for changing password by logged user. Now how to reset it same way |
19:35 |
|
whartung |
POST the user id to /password_recovery_queue, it returns a url /password_recovery_activity/12345 that you can monitor and see what's going on with that specific recovery. |
19:35 |
|
whartung |
the processes are different, you can PUT to .../password all day long |
19:35 |
|
fumanchu_ |
and you might POST a token you get in email to that same 12345 resource |
19:35 |
|
whartung |
but that's a far cry from password recovery which deals wth emails, and validation, and all the happy stuff. |
19:36 |
|
kibibyte |
whartung, yes i need to snd mail with hash |
19:36 |
|
kibibyte |
and based on this hash password will be change d |
19:37 |
|
whartung |
REST is about resources. Services ARE resources. Password Recovery is a Service |
19:37 |
|
kibibyte |
hm |
19:37 |
|
fumanchu_ |
kibibyte: that's what I meant by "token" == the hash |
19:39 |
|
kibibyte |
so maybe POST /users/{id}//password_recovery <- create token and send via email , PUT /users/{id}/password_recovery change password based on token |
19:40 |
|
kibibyte |
??? |
19:41 |
|
kibibyte |
what you think |
19:41 |
|
* fumanchu_ |
writes long answer |
19:41 |
|
|
shrink0r joined #rest |
19:41 |
|
whartung |
I think that having access to the password recovery acitity is better |
19:42 |
|
kibibyte |
whartung, what you mean ? what url do you propose |
19:42 |
|
whartung |
I did it earlyer |
19:42 |
|
kibibyte |
oh this one /password_recovery_queue |
19:43 |
|
whartung |
you can root taht whereever you want, I'm talking about the resource that it created |
19:57 |
|
|
shrink0r joined #rest |
20:06 |
|
|
shrink0r_ joined #rest |
20:10 |
|
|
shrink0r joined #rest |
21:14 |
|
|
AnxiousGarlic joined #rest |
21:14 |
|
|
AnxiousGarlic left #rest |
23:05 |
|
|
shrink0r_ joined #rest |