apache / apache/openwhisk-cli

Consider supporting third-party identity providers

Abierto
#151 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Go
Estrellas
109
Forks
98
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

@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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Revisa el proyecto openwhisk-oauth-login enlazado y su README, especialmente los archivos de lib/ y conf/, para comprender el flujo propuesto entre cliente y servidor. Después inspecciona el punto de entrada de login de openwhisk-cli y la configuración existente; se considerará terminado cuando exista un flujo de login documentado y funcional basado en providers, con intercambio de tokens en el backend y compatibilidad con la devolución de auth_key.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
go, node.js, scala
Área
authentication, backend-api-design, cli
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.