Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You may consider <a href="https://developers.facebook.com/docs/authentication/client-side/" rel="nofollow noreferrer">Client Side authentication</a> flow or using <a href="https://developers.facebook.com/docs/reference/javascript/" rel="nofollow noreferrer">JS-SDK</a> with <a href="https://developers.facebook.com/docs/reference/dialogs/oauth/" rel="nofollow noreferrer">OAuth Dialog</a>, that way you may easily avoid specifying <code>redirect_uri</code> since it may be provided automatically by JS-SDK (or you may use current URL <code>window.location</code> as shown in documentatio of Client Side auth flow).</p> <p><strong>Notes:</strong></p> <p>While this may help you to avoid usage of <code>redirect_uri</code> actual problem is a bit deeper...</p> <p>Usage of <code>redirect_uri</code> will make such flow hard to implement not only due to inability to predict it, but due to requirement that <code>redirect_uri</code> should be located within <strong>App Domain</strong>, same goes for usage of JS-SDK.</p> <p><img src="https://i.stack.imgur.com/EXwSu.png" alt="Application Settings screenshot"></p> <p>So generally you will be required to place the domain name of <code>redirect_uri</code> / <em>URL Application Running on</em> in the application settings, which is nasty in case of many clients/domains.</p> <p>You may implement auth flow by using separate (publicly accessible) host but it's good to ask yourself a couple of question before doing so:</p> <ol> <li>Who will be responsible for that host and what will happen with all your clients if something going wrong with that host for auth only. <ul> <li>It's additional dependency which is better to avoid.</li> </ul></li> <li>Will you be albe to provide domains for all of your clients in application settings? <ul> <li>This may lead to violation of platform policies on data transfer to third parties (consult a company lawyer before doing so)</li> </ul></li> <li>Are you required to use single Application for all your clients? <ul> <li>If not you better instruct clients to set-up application and configure your application/code with credentials they got.</li> </ul></li> </ol> <p><strong>Summarizing stuff:</strong><br> You can create separate application for every client or instruct client to set-up application as part of install/set-up process for you application. Later you may use Client Side authentication flow to create generic code that will work for every client (this is possible with Server Side flow too, but will require some additional work and with JS-SDK <code>FB.login</code> it may be a drop-in functionality without any additional work).</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.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      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