Ich möchte die SmugMug-API von meiner Anwendung aus aufrufen, um die Alben und Bilder der Benutzer zu erhalten (die Benutzer wurden über OmniAuth von Ruby authentifiziert).
Laut OAuth-API von SmugMug benötigt OAuth sechs Parameter.
Ich kann das Token mit OmniAuth bekommen, und der Zeitstempel sollte einfach sein (Time.now.to_i richtig?). Es gibt zwei Dinge, die ich nicht zu generieren weiß - die oauth_nonce und die oauth_signature.
Nach den OAuth-Dokumenten erzeuge ich die Nonce über den Zeitstempel, aber wie genau würde ich das machen? Muss es eine bestimmte Länge haben und auf bestimmte Zeichen beschränkt sein?
Und natürlich die Unterschrift. Wie würde ich ein HMAC-SHA1 Sig mit Rubin erzeugen? Ich weiß, dass das oauth-Juwel es kann, aber ich würde es lieber selbst generieren, um es mit OmniAuth zu verwenden. Wenn ich mir den Code anschaue, habe ich Probleme zu entziffern, wie der oauth-Edelstein das Sig erzeugt.
Danke für jede Hilfe.
für die Signatur
%Vor%Sie müssen die Nonce nicht aus dem Zeitstempel generieren, aber es kann sinnvoll sein, da der Zeitstempel offensichtlich eindeutig ist, so dass er eine gute Starteingabe für jede Randomisierungsfunktion darstellt.
Ich benutze das, (das habe ich von einer anderen Frage hier bekommen und modifiziert)
%Vor%Sie können jedoch alles verwenden, was eine eindeutige Zeichenfolge erzeugt.
Siehe diesen Text von erikeldridge auf github und Anfängerleitfaden zu OAuth für mehr
Ich habe seither herausgefunden, dass es eine bessere Möglichkeit gibt, zufällige Strings in der Ruby-Standardbibliothek zu erzeugen, SecureRandom .
Tags und Links ruby ruby-on-rails-3 ruby-on-rails oauth omniauth