Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I get that. You're not wrong. I'm asking why Facebook tells the application anything other than "nope, that's not valid for you"? It doesn't seem to be a case of the application will accept random noise as a valid token. It does send the token to Facebook and Facebook responds with something that looks like "OK". But when they said "OK" they really meant "we gave you some valid information about the target user, but forgot to mention that the token you provided was not valid".

I'm saying that Facebook should in all cases respond with "Nope, that's not a valid token". Their API just shouldn't have a way to get data on a user without providing a valid token (by valid, we mean valid for that purpose, not stolen from somewhere).



Because I guess in this "flow", you do not actually supply the information to Facebook for them to verify that claim. From the article:

> In steps 6-7: > randomsite.com reads the token from the URL and uses it to talk directly with Facebook using the following API:

> https://graph.facebook.com/me?fields=id,name,email&access_to....

> The response is [email protected].

So you send the token only and the token is valid, and there's no way for Facebook to check if it was meant for you or not. As mentioned in other posts, this would not happen in other flows because you would send e.g. your client secret along with the code.


The question still is, are Facebook failing to associate the token with the application context that requested it?


Failing sounds like its a requirement for them to do it, but this is not true. If you send them just a token, then how would they associate it with the application? Like I said, in another flow where you send your client secret and a code to exchange for the token, they need to verify it and it would be a failure on their part if they didn't.


They have the client id when the token is requested, so they can associate the generated token with it by either keeping some state or encoding it in the token, no?




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: