Maison > développement back-end > Golang > le corps du texte

Comment l'AWS CLI ouvre-t-elle un navigateur et attend-elle une réponse avant de continuer ?

PHPz
Libérer: 2024-02-10 21:30:10
avant
635 Les gens l'ont consulté

AWS CLI 如何打开浏览器并等待响应然后再继续?

l'éditeur php Banana vous présentera dans cet article comment utiliser l'outil de ligne de commande AWS CLI pour ouvrir le navigateur et attendre la réponse avant de continuer à effectuer d'autres opérations. AWS CLI est un outil de ligne de commande fourni par Amazon pour gérer les services cloud AWS. Il peut effectuer diverses opérations AWS via l'interface de ligne de commande. Dans certains cas, nous devrons peut-être ouvrir un navigateur dans la ligne de commande et attendre que l'utilisateur termine certaines actions avant de poursuivre les commandes suivantes. Cet article présentera en détail comment utiliser l'AWS CLI pour implémenter cette fonction, rendant ainsi vos opérations de ligne de commande plus flexibles et plus pratiques.

Contenu de la question

J'essaie de créer un outil Golang cli pour mon entreprise et de créer une connexion et d'autres fonctionnalités dans le cadre de l'outil. Je n'arrive pas du tout à comprendre comment AWS est capable d'ouvrir une fenêtre de navigateur et d'attendre quelques clics de bouton avant de continuer à partir de la CLI.

https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_StartDeviceAuthorization.html

C'est la commande CLI que j'ai entrée

aws sso login --profile login                                                                                                    

Attempting to automatically open the SSO authorization page in your default browser.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:

https://device.sso.us-east-1.amazonaws.com/

Then enter the code:

abcd-efgh
Successfully logged into Start URL: https://d-1421421423.awsapps.com/start
Copier après la connexion

Il existe également de la documentation Python pour démarrer l'authentification des appareils et créer des jetons

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sso-oidc/client/start_device_authorization.html https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sso-oidc/client/create_token.html

Workaround

Une option que je viens de mettre en place et qui semble fonctionner est celle-ci. Une boucle qui vérifie chaque seconde

for attempts <= 30 {
            fmt.Println(attempts)
            token, err := idc.CreateToken(context.TODO(), &createTokenInput)
            if err != nil {
                // if debug is enabled show error
                log.Debug(err.Error())
                attempts++
                // wait 1 second
                time.Sleep(1 * time.Second)
            } else {
                response = *token
                break
            }
        }
Copier après la connexion

Éditeur :

Après l'exécution AWS sso login —debug J'ai remarqué que les journaux effectuaient une boucle et exécutaient la requête createToken encore et encore, donc AWS faisait quelque chose de similaire à ce qui précède.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!