GitHub OAuth en lua

Estoy trabajando en una biblioteca en LUA para una aplicación de ipad llamada Codea. Intento descubrir cómo usar OAuth para GitHub Gists. La única parte que no puedo descifrar es cómo get un token de authentication mediante código. Utilicé curl en la terminal para get una ficha, pero esto parece ser muy útil para otros usuarios.

He leído varias veces los documentos de github api pero no puedo entender cómo get un token programáticamente. Intenté duplicar el método que he utilizado para GET y POST pero no parece funcionar. No estoy seguro de cómo pasar el nombre de usuario y la contraseña. Estoy creando una tabla con los parameters necesarios y luego la codifico en json. Todo lo que bash obtiene un error 404 o 500. Gracias a todos de antemano.

local url = "https://api.github.com/authorizations" local d = {} d.scopes = {"gist"} d.note = "AutoGist Codea" projectAuth = json.encode(d) opts = { data = projectAuth } opts.method = "POST" opts.headers = {Authorization = "basic " .."username:password"} http.request(url,successCallback,failedCallback,opts) 

Los ámbitos están por llegar, pero solo en el cuarto trimestre de 2013.

Consulte " Vienen los cambios de OAuth " (octubre de 2013, por Tim Cleam – tclem ):

A partir de hoy, estamos devolviendo ámbitos otorgados como parte de la respuesta access_token.
Por ejemplo, si está realizando una POST con la application/json mime-type, verá un campo adicional para los ámbitos otorgados.

 { "access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a", "scope":"repo,gist", "token_type":"bearer" } 

En este momento, estos ámbitos serán idénticos a lo que solicitó, pero nos estamos moviendo hacia un set de características que permitirá a los usuarios de GitHub editar sus ámbitos, otorgando de hecho a su aplicación less acceso del que originalmente solicitó .
Debe tener en count esta posibilidad y ajustar el comportamiento de su aplicación en consecuencia.

Algunas cosas para tener en count y tener en count:

  • La mayoría de las aplicaciones de terceros que usan GitHub OAuth para identificar a los usuarios tienen el mayor éxito en la adopción al comenzar con una request para el acceso mínimo que la aplicación posiblemente pueda salirse con la suya.
    Algo como sin scope o simplemente user:email es muy sensato.

  • Es importante manejar los casos de error donde los usuarios deciden otorgarle less acceso del que originalmente solicitó.
    Ahora que estamos sacando a la superficie los scopes concedidos en la respuesta access_token , las aplicaciones pueden advertir o comunicarse de otro modo con sus usuarios que verán una funcionalidad networkingucida o no podrán realizar algunas acciones.

  • Las aplicaciones siempre pueden enviar a los usuarios nuevamente a través del flujo para get un permiso adicional, pero no olvide que los usuarios siempre pueden decir que no.

Intereting Posts