2017-06-21 6 views
0

私はMongoDBでSpring-Bootアプリケーションを持っています。 OAuth2.0戦略を使用してクライアントを登録し、クライアントIDとクライアントの秘密鍵をデータベースに格納したいとします。私は、下記のURLからいくつかのダミークライアントと秘密鍵を使用してアクセストークンを生成することができる午前:http://websystique.com/spring-security/secure-spring-rest-api-using-oauth2/スプリングブートOAuth2サンプル

は私のJavaコードでクライアントIDと秘密鍵を生成する方法を知りたいです。どんな助けもありがとうございます。

+0

なぜクライアントIDを生成する必要がありますか?アクセストークンからの秘密鍵?アクセストークンを取得するために使用されるクライアントIDと秘密鍵。これはおそらくあなたが本当に必要とするものです(私が間違っていれば私を修正してください)。 –

+0

はい、アクセストークンを取得するために使用されるクライアントIDと秘密鍵を生成するためにJavaコードが必要です。 – user3334226

+0

あなたは単にclientIDと秘密を生成することはできません。あるいは、あなたができると言うよりは、認可サーバーがそれを認識していないので、意味がありません。まずAuthorization Serverにクライアントを登録する必要があります。 –

答えて

0

クライアントIDとシークレットは、サービスプロバイダによって生成され、開発者がアプリケーションを登録してAPIにアクセスできるようにします。

Client_idとClientシークレットを生成する方法はたくさんあります。選択する方法によって異なります。

CLIENT_IDはapps.Itの公開識別子がユニーク、容易に推測可能ではないあるべきです。したがって、のように、Guid、Guid + systemTimeという32文字の16進数の文字列をハッシュしたり、などの暗号化したり、一意の識別子にしたりすることができます。あなたは、256ビットの値と、それを変換を生成するために暗号的に安全なライブラリを使用することができserver.So

Client_secretは、アプリケーションと 承認にのみ知られている秘密です(あなたは同じのために簡単にJavaコードを見つけるだろう) 16進表現に変換する。 一般的なUUIDライブラリを使用しないでください。

また、シークレットをプレーンテキストで保存するのではなく、暗号化またはハッシュバージョンを保存するだけで、秘密漏れの可能性を減らすのに役立ちます。

フォースクエア:ZYDPLLBWSK3MVQJSIYRF1OR2JXCY0X2C5UJ2QAR2MAAIT5Q

のGithub:6779ef20e75817b79602

グーグル:292085223830.apps.googleusercontent.com

のInstagramここ

はOAuthのサポートサービスからクライアントIDのいくつかの例は以下のとおりです。 f2a1ed52710d4533bde25be6da03b6e3

関連する問題