2016-06-18 7 views
0

私はRailsのapi専用アプリを保護していますが、OAuth2(パスワードの流れ)とDoorkeeperを使用しています。これを行う方法について十分に明確なドキュメントが見つからないという事実を無視して、私が考えているユースケースは、複数のデバイス/プラットフォーム(Android、iOS、ブラウザなど)に複数のクライアントがあり、ログインするユーザー。新しいログインごとに新しい(access_token、refresh_token)ペアを発行できるようにしたいと考えています。ペアは、そのペアが作成されたユーザーを識別する必要があります。これは、アリスが2つのブラウザからAndroidとiOS、およびボブ経由でログオンした場合、私のような複数の(access_token、refresh_token)を、ドアキーパを備えた異なるクライアント/デバイス上で同じユーザにサービスすることはできますか?

| user_id | access_token | refresh_token | client_id  | 
|---------|--------------|---------------|------------------| 
| Alice | a6d7f82h3hf | d8f6g8d0e3 | Android-h3j4k5l6 | 
| Alice | 3j4k5j3l5k3 | 1hnrbtj5kc | iOS-j2k35h3n  | 
| Bob  | 513lkhbjkf3 | rhj2345bvj | web-43nfm23  | 
| Bob  | nbv234nbv65 | cbv124cr64 | web-gc62jh4  | 

(データが完全に構成された)レコードをしたい、です。誰かがまっすぐな答えを提供することができ、おそらく、これに関連するドキュメント、ガイド、チュートリアルを私に指摘することはできますか?私はこの特定のユースケースを実装している私自身の認証システムを公開することができますが、これまで行ってきましたが、これで将来の改善のためのOAuth2の柔軟性が欲しいと思います。

答えて

0

私はこのようなことに取り組んでいます。これは、簡単なパスワード戦略を実装するために役立つlinkです。

  • revoked_atのcreated_atをexpires_in
    • resource_owner_id(ユーザID)
    • アプリケーション(許可されたアプリケーション)
    • トークンrefresh_token
    • :守衛では次のようなレコードを取得します
    • スコープ
    • previous_refresh_token

    異なるアプリケーション/クライアントで同じユーザーを扱うことができます。

    Dohakeeperがビューを使用してアプリケーションを許可するため、Rails 5 APIの問題もあります。同様の問題#821がありますが、私はこの問題を解決するには、config/application.rbでapiモードをオフにしてください。

    config.api_only = false 
    
    関連する問題