Spring Security OAuth2を使用していますが、現在client_credentialsとパスワード付与タイプを実装しています。クライアントにはスコープと権限の両方があることに気付きました。誰かが違いが何であるか説明してもらえますか?具体的には、JDBCTokenStoreを使用しており、データベーススキーマにはoauth_client_detailsテーブルがあります。
また、
Oauth_client_detailsテーブルでは、次のフィールドが何に使用されるのかわかりません。
web_server_redirect_url、access_token_validity、refresh_token_validity
いくつかの説明は非常に役立ち、高く評価されます。
クライアントがスコープと権限の両方を持っていることに気付きました
クライアントにはスコープのみがありますが、権限(ロール)として検討/使用できます。これは、OAuth2仕様がスコープの特定の使用法を説明していないためです。
これを考慮すると、ユーザーはTwitterがユーザーのツイートをFacebookに投稿することを許可します。この場合、Twitterのスコープはwrite_facebook_statusになります。ユーザーは自分のプロファイルを変更する権限を持っていますが、これはTwitterがユーザーのプロファイルを変更できるという意味ではありません。つまり、スコープはクライアントの権限/ロールであり、ユーザーの権限/ロールではありません。
web_server_redirect_url
これは、認証サーバーが要求を元のURLまたはコールバック(認証付与)にリダイレクトして、認証が成功した後に使用します。
access_token_validity
これは、token_accessの有効期限(秒単位)です。 -1または0に設定すると、無限になります。 60に設定すると、1分後にtoken_accessは無効になります。認証プロセスを実行して新しいトークンを要求するか、refresh_tokenを使用する必要があります。
refresh_token_validity
これはrefresh_tokenの有効期限です。