GNU-social-mode para Emacs mediante OAuth


Este post es similar a uno anterior sobre Identi.ca-mode para Emacs, pero con la diferencia que ahora la conexión va ser mediante OAuth (ademas del cambio de nombre del modo para Emacs).

Teniendo GNU Emacs y Git instalado, hacemos lo siguiente:

1.- Descargamos GNU Social mode para Emacs desde http://git.savannah.gnu.org/cgit/gnu-social-mode.git mediante Git.

git clone git://git.sv.gnu.org/gnu-social-mode.git

2.- Para hacer la conexión mediante OAuth descargamos emacs-oauth mediante Git.
Ojo: Si lo instalamos mediante ELPA o lo compilamos puede que te de error al usarlo debido a un bug existente.

git clone https://github.com/psanford/emacs-oauth

3.- Copiamos gnu-social-mode y emacs-oauth a nuestro directorio de Emacs.

cp -r gnu-social-mode emacs-oauth ~/.emacs.d/

4.- Para poder hacer uso de OAuth tenemos que generar primero nuestras claves de consumidor en la instancia en la que estamos registrado. Para eso iniciamos sesión y en la sección de configuración registramos la aplicación. La dirección va a ser algo similar a SERVIDOR/settings/oauthapps, donde SERVIDOR va a ser el dominio donde estés registrado. Luego de registrar la aplicación hacemos clic en este registro para ver los valores de «Consumer key», «Consumer secret», «Request token URL», «Access token URL» y «Authorize URL».

5.- Ahora modificamos nuestro archivo de configuración de Emacs y colocamos lo siguiente:

;; Emacs OAuth
(add-to-list 'load-path "~/.emacs.d/emacs-oauth")
(require 'oauth)

;; GNU Social mode
(add-to-list 'load-path "~/.emacs.d/gnu-social-mode/")
(require 'gnu-social-mode)
(setq gnu-social-username "TU_USUARIO")
(setq gnu-social-server "SERVIDOR")
(setq gnu-social-port 443)

;; OAuth settings
(setq gnu-social-auth-mode "oauth")
(setq gnu-social-mode-oauth-consumer-key "TU_CONSUMER_KEY")
(setq gnu-social-mode-oauth-consumer-secret "TU_CONSUMER_SECRET")
(setq gnu-social-request-url "TU_REQUEST_TOKEN_URL")
(setq gnu-social-access-url "TU_ACCESS_TOKEN_URL")
(setq gnu-social-authorize-url "TU_AUTHORIZE_TOKEN_URL")

Tenemos que reemplazar TU_USUARIO con el usuario que tenemos registrado (en mi caso ovruni), SERVIDOR con el dominio donde estamos registrados (en mi caso quitter.se), los parámetros de OAuth los reemplazamos segun los detalles mencionados en el punto anterior (punto 4).

6.- Ahora, con la sesión iniciada en el servidor abrimos Emacs e ingresamos a gnu-social-mode mediante «M-x gnu-social-mode» (Entiéndase el M-x como el pulsar Alt+x en el teclado). Al ser la primera vez nos va a abrir la pagina web para autorizar la aplicación, aceptamos y nos va a generar un código de seguridad. Por otro lado en Emacs nos va decir que presionemos Enter si pudimos ingresar a la pagina para autorizar la aplicación, entonces presionamos Enter.

7.- Luego de eso Emacs nos va a pedir que ingresemos el código de seguridad generado, entonces ingresamos dicho código.

gnu-social-mode-enter-code

8.- Luego ya estamos listos para usar gnu-social-mode en Emacs mediante OAuth.

gnu-socia-mode-emacs

Notas adicionales:

  • Supongo que este post puede servir tambien mediante identi-mode cambiando algunos nombres de variables, pero no lo he probado.
  • Se debe de haber generado automáticamente un archivo en «~/.SERVIDOR-TU_USUARIO-oauth-token» donde se almacena tu clave de acceso de OAuth.
  • Para mas información sobre comandos puede ver las notas adicionales de mi anterior post