1

Rails アプリで OAuth を提供するために Doorkeeper gem を使用しています。クライアントは Chrome 拡張機能です。

「use_refresh_token」を doorkeeper.rb でコメントアウトし、「access_token_expires_in」を 1 分に設定しました。1分後にクライアントに再認証を強制すると思いました。ただし、use_refresh_token が存在するかどうかに関係なく、再認証は自動的に行われます。

use_refresh_token が存在する場合、アクセス トークンの有効期限が切れるたびに新しい行が「oauth_access_tokens」に追加されます。「oauth_access_grants」に新しい行は追加されません。

use_refresh_token をコメントアウトすると、新しい行が両方のテーブルに追加されます。クライアントが手動で再認証していた場合に期待することです。しかし、それは自動的に行われているようです.OAuthログイン画面からアプリを再認証することなく、ユーザーはアクセスを許可されます.

無知で申し訳ありませんが、私は Doorkeeper と OAuth の両方に慣れていないため、Google などで手がかりが見つかりませんでした。

4

1 に答える 1

0

OAuth 2.0は、アクセストークンを取得するためのURLを承認するために承認URIを送信しているため機能しており、ユーザーがトークンを取得することを承認されていない間、サーバーは彼をログインページにリダイレクトします。短すぎるため、ユーザーが初めてユーザー名とパスワードを入力したときに開かれたセッションはまだ有効であるため、クライアントが新しいトークンを要求すると、ユーザーがまだ承認サーバーにログインしているため、セッションの時間を次のように変更できますトークンの有効期間より短くしてテストします。

于 2013-04-28T14:14:53.767 に答える