Creación de firma y nonce para OAuth (Ruby)

Estoy buscando acceder a la API de SmugMug desde mi aplicación para capturar los álbumes e imágenes de los usuarios (los usuarios han sido autenticados a través de OmniAuth de ruby).

De acuerdo aAPI OAuth de SmugMug, OAuth requiere seis parámetros.

Puedo obtener el token con OmniAuth, y la marca de tiempo debería ser fácil (Time.now.to_i ¿verdad?). Hay dos cosas que no sé cómo generar: la oauth_nonce y la oauth_signature.

Según los documentos de Oauth, genero el nonce a través de la marca de tiempo, pero ¿cómo haría exactamente eso? ¿Tiene que ser de cierta longitud y estar limitado a ciertos caracteres?

Y por supuesto la firma. ¿Cómo generaría un HMAC-SHA1 sig con ruby? Sé que la gema Oauth puede hacerlo, pero prefiero generarla yo mismo para usar con OmniAuth. Mirando el código, tengo problemas para descifrar cómo la gema oauth genera el sig.

Gracias por cualquier ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta