7

現在、deviseは URL を介したトークン認証を受け入れるように構成されており、curl はうまく機能します。

curl 'http://localhost/index.json?auth_token=TOKENVALUE'

URL の代わりに HTTP ヘッダーを介して TOKENVALUE を渡したいのですが、 HTTP ヘッダーまたはURLから TOKENVALUE を取得するようにどのように設定できますか? 上記と次の両方の curl リクエストが機能するようにします。

curl 'http://localhost/index.json' -H 'Authorization: Token token="TOKENVALUE"'

この Railscastに示されているように。

4

5 に答える 5

1

Devise は、Basic Auth による認証トークン認証を許可します。ソースを見ると、次のように表示されます。

ヘッダーの場合、ユーザー名と空のパスワードとしてトークンを渡す基本認証を使用できます。一部のクライアントではパスワードが必要な場合があるため、「X」をパスワードとして渡すことができ、単純に無視されます。

于 2013-06-12T18:13:52.683 に答える
1

デバイスにはそのような設定はないようです。しかし、他の人による解決策があります。Rails 3/devise で POST/PUT パラメータからではなく、リクエスト ヘッダーから auth_token を使用するを参照してください。

于 2012-06-14T01:49:55.180 に答える
1

最初にこれを gemfile https://github.com/stvp/devise_header_tokenに追加してから、 config/initializers/devise.rb に構成を追加できます

# Configuration for :token_authenticatable
# Defines name of the authentication token params key
config.token_authentication_key = 'AUTH-TOKEN'
于 2013-05-31T19:45:27.130 に答える
0

Devise 2.2.4 にサポートが追加されました https://github.com/plataformatec/devise/blob/master/CHANGELOG.rdoc#224

于 2013-06-25T13:25:42.273 に答える