Note that there are some explanatory texts on larger screens.

plurals
  1. POHowto secure a webservice using ONLY Facebook for authentication/authorizastion?
    primarykey
    data
    text
    <p><strong>Setup</strong></p> <pre><code>1. A LAMP web application that uses SOLELYFacebook for authent./author (i.e. NO credentials set/asked by the web app) 2. A smartphone app that uses ONLY Facebook for authent./author. 3. A web service provided by -1- for -2- to communicate. https, of course. 4. A client-side Javascript that uses the same web service (-3-) for asynchronous CRUD </code></pre> <p><strong>Use-Case:</strong></p> <pre><code>A. The user signs in to - 1 - and Facebook id is saved on server-side as well as a custom id. B. The user signs in to - 2 - and the same happens on client-side. C. The user enters data into - 2- which is stored locally. D. Now comes the tricky part: 2 must send the data to 1 via 3. E. Now even trickier: 4 must do the same. </code></pre> <p><strong>My problem:</strong></p> <p>My problem is to find a strategy to authenticate &amp; authorize communication in D &amp; E. It would be easy if the user was to enter credentials. These would be stored locally and he was the trigger. And he only! However, when using solely Facebook for auth/author., authent. NEVER occurs on client-side. Thus, as far as I understand, the server has to provide some kind of legitimization. This would be, for example, a key or a token. </p> <p><strong>My question:</strong> How is the client app -3- supposed to initially authenticate the user to the server (facebook id?)? How can I prevent someone from sending facebook id to the server service and, thus, getting access to the CRUD? Is some sort of an application key (like facebooks access token) sufficient?</p> <p>If so, what about -4- the Javascript in the browser? Where to store the application key? Wouldn't it be too easy to steal that token, use it for authentication to -1- and then get access to all data of a certain facebook user?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload