web-dev-qa-db-fra.com

Comment désactiver "Utiliser le mode strict pour rediriger les URI" dans l'application Facebook

Existe-t-il un moyen de désactiver l'option Use Strict Mode for Redirect URIs dans une application Facebook? Il semble qu'à partir de mars 2018, cette propriété soit automatiquement activée et grisée, elle ne peut donc pas être désactivée. Facebook semble interdire l'authentification, sauf si l'URL exacte est mentionnée dans Valid OAuth Redirect URIs. Il s'agit d'un problème car le module Sitecore Social Connected semble passer un paramètre d'état différent dans la chaîne de requête chaque fois que vous vous connectez. J'ai testé en utilisant le Redirect URI Validator dans l'application Facebook, ce qui confirme que la redirection doit être exactement conforme à Valid OAuth Redirect URIs.

10
Matthew Dresser

Existe-t-il un moyen de désactiver l'option Use Strict Mode for Redirect URIs dans une application Facebook?

NON

En raison des modifications de sécurité apportées à Facebook, il n'est plus possible de désactiver ce paramètre.


Concernant les spécificités de Sitecore et du module Social Connected, j'ai trouvé dans les commentaires de @ CBroe que le Valid OAuth Redirect URIs doit maintenant contenir un paramètre de chaîne de requête comme suit:

http://example.com/layouts/Social/Connector/SocialLogin.ashx?type=access

auparavant, je venais d'avoir

http://example.com/layouts/Social/Connector/SocialLogin.ashx

Si vous utilisez HTTPS, vous devrez également saisir l'URI avec le numéro de port, c'est-à-dire.

https://example.com:443/layouts/Social/Connector/SocialLogin.ashx?type=access

Ce dernier point n'est pas lié aux modifications récentes de l'application Facebook.

7
Matthew Dresser

Même expérience, je n'ai pas pu l'éteindre. Ce qui a finalement fonctionné pour moi était

J'ai un lien sur mon site qui démarre le processus de connexion:

https://www.example.com/users/auth/facebook

Après cela, mon Rails application redirige vers

https://www.facebook.com/v2.6/dialog/oauth?client_id=1234&redirect_uri=https%3A%2F%2Fwww.example.com%2Fusers%2Fauth%2Ffacebook%2Fcallback&response_type=code&scope=email&state=123456

Facebook répond avec

https://www.example.com/users/auth/facebook/callback?code=abcverylongcodexyz

Par conséquent, l'URI qui doit être ajouté à la liste blanche est simplement " https://www.example.com/users/auth/facebook/callback ", sans la partie code.

FWIW, lorsque j'ai déplacé mon site de http vers https, j'avais besoin de mettre à jour ma config/initializers/devise.rb pour inclure

config.omniauth :facebook, '1234', '34567', :scope => 'email', :callback_url => 'https://www.example.com/users/auth/facebook/callback'

car il utilisait toujours le protocole http: dans l'URL de rappel, et vous ne pouvez pas mettre en liste blanche aucun URI dans ce protocole selon les directives actuelles.

0
Jeff