Je dois permettre OpenID pour notre application en ligne de commande (Django Application) Ex: chaque fois que les utilisateurs tentent d'accéder à nos API, je dois vous assurer que l'utilisateur est authentifié avec OpenID (Microsoft/Google). J'essaie d'écrire un script Shell pour accéder au site Web OpenID, puis stocker le cookie sur la machine de l'utilisateur et chaque fois qu'il essaie d'accéder à la deuxième application, il devrait avoir un accès basé sur le cookie que je stocke sur sa machine. J'essaie d'utiliser l'approche mentionnée here et chaque fois que j'essaie d'accéder à la deuxième URL, j'obtiens une erreur "Votre navigateur est actuellement configuré pour bloquer les cookies.Vous devez autoriser les cookies à utiliser ce service."CURL Authentifier à un site Web
Mes sites ne sont pas sur un seul domaine, ils utilisent OpenID pour l'authentification.
- Je me suis connecté dans le premier site et le site me redirigés vers OpenId site web (AD Azure)
- Je l'URL redirigée accéder en utilisant le nom d'utilisateur avec boucle et mot de passe avec succès et stocké le cookie.
- Quand je suis en train de se connecter au deuxième site en utilisant la ligne ci-dessous , je vois cette erreur. (Comme je les cookies stockés, il devrait être en mesure de les lire et d'ouvrir la deuxième page du site)
curl --cookie ./somefile https://secondwebsite.com/b
Voici mon script complet
#Setting redirect url in IP variable
set IP=`curl -w "%{url_effective}\n" -I -L -s -S http://mysite1.com -o /dev/null`
echo "Trying to Authenticate.."
curl -L -s -S -I -k -v -i --user "[email protected]" -D ./temp/cookie $IP
echo "Authentication successful"
#I need to check if the cookie is set or not, If it is set Authentication is successful
echo "Trying to access the second url"
#The below line is failing, When I wrote the whole content to html file, I see the error mentioned above (Your browser is currently set to block cookies. You need to allow cookies to use this service)
curl --cookie ./temp/cookie https://secondwebsite.com/
Pour résumer, je suis coincé avec deux questions
- Authentification de l'utilisateur à un second site sans eding to login again
- Parfois, l'URL d'authentification demande un mot de passe à l'utilisateur, , qui sera envoyé aux utilisateurs Mobile (authentification à 2 facteurs). Des conseils sur la façon de gérer ce cas, s'il se pose?
Conformément à la spécification, il a fallu une interaction avec le navigateur, mais je cherche une authentification entièrement basée sur une ligne de commande. le client doit être capable d'interagir avec l'agent utilisateur du propriétaire de la ressource (généralement un navigateur Web) (https://tools.ietf.org/html/rfc6749#section-4.1) –