apache / apache/openwhisk-cli

Consider supporting third-party identity providers

Ouverte
#151 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Go
Étoiles
109
Forks
98
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

@starpit commented on [Mon Sep 12 2016](https://github.com/apache/incubator-openwhisk/issues/1247)

Without too much effort, OpenWhisk could support third-party identity management providers, such as github, google, etc. The architecture, in sketch, for this would be:

`wsk login --provider github`

The CLI then asks the user to identify with github, and acquires an oauth `code`. The CLI passes this `code` to the backend, which then asks github to exchange it for an `access_token`. The backend next uses this token to acquire the user's immortal profile identifier (e.g. "starpit" for me, on github). Finally, the backend passes this identified user's auth_key back to the CLI client.

The attached gif illustrates an implementation of this, where the backend has been stubbed to only do the relevant bits, and the CLI has been mocked to only do the login bit.

![whisk github cli login](https://cloud.githubusercontent.com/assets/4741620/18455942/294a6a8c-791b-11e6-9dd4-2f91b8f35d61.gif)

---

@starpit commented on [Mon Sep 12 2016](https://github.com/apache/incubator-openwhisk/issues/1247#issuecomment-246546286)

here is my code: https://github.com/starpit/openwhisk-oauth-login

i think only the fake_backend and fake_wsk are throwaways. the two files under lib/ service the client and server sides of this support. written in node.js, sorry, but it's not a huge amount of code to port over to go and scala.

the conf/ needs to be updated, according to the README, to install your own client_id and client_secrets for the identity providers.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Examinez le projet openwhisk-oauth-login lié et son README, en particulier les fichiers de lib/ et conf/, afin de comprendre le flux client-serveur proposé. Inspectez ensuite le point d’entrée du login de openwhisk-cli et la configuration existante ; le travail sera considéré comme terminé lorsqu’un flux de login documenté et fonctionnel basé sur un provider sera disponible, avec échange de token côté backend et prise en charge du retour de auth_key.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
go, node.js, scala
Domaine
authentication, backend-api-design, cli
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.