2016-04-22 6 views
0

静的フィールド内にKeyForHmacSha256TokenIssuerTokenAudience、およびTokenLifetimeMinutesを保存することがベストプラクティスであるか、またはこれらの値を設定ファイルから読み取ります。静的フィールドにJWTトークンを保存するのがベストプラクティスですか?

public class SecurityConstants 
{ 
    public static readonly byte[] KeyForHmacSha256 = new byte[64]; 

    public static readonly string TokenIssuer = string.Empty; 

    public static readonly string TokenAudience = string.Empty; 

    public static readonly double TokenLifetimeMinutes = 1; 

    static SecurityConstants() 
    { 
     RNGCryptoServiceProvider cryptoProvider = new RNGCryptoServiceProvider(); 
     cryptoProvider.GetNonZeroBytes(KeyForHmacSha256); 

     TokenIssuer = "issuer"; 

     TokenAudience = "http://localhost:90"; 
    } 
} 

答えて

0

と同様に、答えは「それに依存します」です。

KeyForHmacSha256変数が設定ファイルまたは環境変数から引き出されていて、ソースコントロールから外しているということは確かです。

個人的には、私は通常、発行者と視聴者を動的に引き込みます。発行者は環境から引き出され、各展開で手動で設定する必要はなく、誰がトークンを要求しているかによって聴衆が決定されます。

トークンライフタイムは、静的な定義であることが最良のケースです。動的にする必要がある場合は、それを処理する必要がありますが、明示的に設定することはセキュリティの問題ではありません。

関連する問題