2017-10-02 2 views
-1

Ich versuche, meine Spinnaker-Schnittstelle mit diesem Tutorial authentifiziert zu erhalten: https://www.spinnaker.io/setup/quickstart/halyard-gke-public/Spinnaker GKE oauth - Info Benutzer verfügt nicht über alle erforderlichen Felder

Vor dem Tutorial, Spinnaker wurde am http://localhost:9000 bestätigt und läuft. Ich habe folgendes an 1.3.1, 1.4.1 und 1.4.2 versucht.

Nach dem Bearbeiten/Anwenden/Aktivieren der Google-Sicherheit, versuche ich die Anmeldung und erfolgreich mit einem Google-Login-Bildschirm herausgefordert. Nach Abschluss des Zwei-Faktor-Authentifizierungs und ich bin umgeleitet zu http://localhost:8084/login erwartet, obwohl ich die folgenden Fehlermeldung:

{ 
    "error": "Unauthorized", 
    "message": "Authentication Failed: User's info does not have all required fields.", 
    "status": 401, 
    "timestamp": 1506985726074 
} 

Hier ist ein Protokoll über meine Setup-Schritte:

[email protected]:~$ hal config security authn oauth2 edit --provider google \ 
>  --client-id $CLIENT_ID \ 
>  --client-secret $CLIENT_SECRET \ 
>  --user-info-requirements hd=$DOMAIN 
+ Get current deployment 
    Success 
+ Get authentication settings 
    Success 
+ Edit oauth2 authentication settings 
    Success 
Problems in default.security: 
- WARNING Your UI or API domain does not have override base URLs 
    set even though your Spinnaker deployment is a Distributed deployment on a 
    remote cloud provider. As a result, you will need to open SSH tunnels against 
    that deployment to access Spinnaker. 
? We recommend that you instead configure an authentication 
    mechanism (OAuth2, SAML2, or x509) to make it easier to access Spinnaker 
    securely, and then register the intended Domain and IP addresses that your 
    publicly facing services will be using. 

+ Successfully edited oauth2 method. 
[email protected]:~$ hal config security authn oauth2 enable 
+ Get current deployment 
    Success 
+ Edit oauth2 authentication settings 
    Success 
Problems in default.security: 
- WARNING Your UI or API domain does not have override base URLs 
    set even though your Spinnaker deployment is a Distributed deployment on a 
    remote cloud provider. As a result, you will need to open SSH tunnels against 
    that deployment to access Spinnaker. 
? We recommend that you instead configure an authentication 
    mechanism (OAuth2, SAML2, or x509) to make it easier to access Spinnaker 
    securely, and then register the intended Domain and IP addresses that your 
    publicly facing services will be using. 

+ Successfully enabled oauth2 

[email protected]:~$ hal deploy apply 
+ Get current deployment 
    Success 
+ Apply deployment 
    Success 
+ Deploy spin-clouddriver 
    Success 
+ Deploy spin-front50 
    Success 
+ Deploy spin-orca 
    Success 
+ Deploy spin-deck 
    Success 
+ Deploy spin-echo 
    Success 
+ Deploy spin-gate 
    Success 
+ Deploy spin-igor 
    Success 
+ Deploy spin-rosco 
    Success 
Problems in default.security: 
- WARNING Your UI or API domain does not have override base URLs 
    set even though your Spinnaker deployment is a Distributed deployment on a 
    remote cloud provider. As a result, you will need to open SSH tunnels against 
    that deployment to access Spinnaker. 
? We recommend that you instead configure an authentication 
    mechanism (OAuth2, SAML2, or x509) to make it easier to access Spinnaker 
    securely, and then register the intended Domain and IP addresses that your 
    publicly facing services will be using. 

Ich bin nicht ganz sicher, was damit zu tun ist. Es scheint, dass ich authentisch bin, aber aus irgendeinem Grund sind die erforderlichen Benutzerfelder in der Interaktion nicht erlaubt.

Ich habe auch spinnaker's authentication setup überprüft und wiederholt ein paar Änderungen vorgenommen und mit einem neuen Inkognito-Browser getestet, aber keine Änderung.

Seit der google provider is a packaged OAuth 2 provider with spinnaker bin ich verwirrt, was für eine weitere Konfiguration notwendig wäre, da ich nicht "meinen eigenen Provider" bringe.

Wo kann ich als nächstes anfangen? Beliebige Hinweise/Hinweise zur Dokumentation?

+0

Sie müssen hier den Code anzeigen, den Sie hier verwenden: [mcve] Sonst ist alles, was gesagt wird, nur eine wilde Vermutung. Links gehen verloren. Der Link zum Tutorial wird niemandem helfen, wenn er es tut. – Rob

Antwort

1

Das Problem ist das --user-info-requirements hd=$DOMAIN Argument. Dies ist (in der Regel) nur erforderlich, wenn Sie ein G Suite/Google Apps for Work-Konto als OAuth-Identitätsanbieter verwenden. Dadurch wird die Anmeldung nur für Nutzer in Ihrer Domain eingeschränkt. Andernfalls könnte sich jeder mit einem gültigen @ gmail-Konto anmelden. Wenn Sie die --user-info-requirements hd=$DOMAIN verwenden und die angegebene $DOMAIN ungültig ist, wird dieser Fehler angezeigt. Stellen Sie sicher, dass Sie den vollständig qualifizierten Domänennamen als Wert verwenden.

+0

Ich bin ein G Suite/Google Apps-Nutzer und möchte sie auf meine Domain beschränken. Ist Ihre Antwort, dass es weggelassen werden sollte? Dann würde ich keine Beschränkung bekommen, basierend auf der richtigen Domain? – kross

+0

Scheint du hast es herausgefunden. Sie müssen den FQDN tatsächlich verwenden: https://github.com/spinnaker/spinnaker.github.io/issues/363#issuecomment-335881201 –

Verwandte Themen