6

Javaでアクセストークンとシークレットトークンを生成する方法についてのアイデアを探して、Apache Oltuフレームワークを使用してOAuth 2.0プロバイダーサーバーを実装しています。お知らせ下さい。

4

1 に答える 1

17

OAuth 2.0仕様は、トークンとシークレット トークンの生成方法について何も教えていません。したがって、既存の/アンカー データを使用してトークンを生成するか、ランダム シーケンスを使用してトークンを生成するかは、ユーザー次第です。唯一の違いは、おそらく既知のデータ (たとえば、ユーザー名、作成日などのユーザー データ) を使用する場合、必要なときにいつでもトークンを復元できることです。データのランダム シーケンスを使用する場合、トークンが失われるとトークンを復元することはできません。

つまり、RFC は生成プロセスを制限しません。

おそらく、User Details データといくつかのランダム データの文字列連結を使用してから、Base64 エンコーディングを行います。

String keySource = username + creationDate + random;
byte [] tokenByte = new Base64(true).encodeBase64(keySource.getBytes());
String token = new String(tokenByte);
于 2013-06-17T07:13:17.480 に答える