diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2011-04-07 08:01:44 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2011-04-07 08:01:44 -0700 |
commit | cb6027d9171f1411965e070a328e090594e3231c (patch) | |
tree | 2e12c640af6137b81fd765d19fdae8334d494d1f /samples/OAuthAuthorizationServer/Controllers | |
parent | 7517491e79bb91241acbd46292006e8c999ec211 (diff) | |
download | DotNetOpenAuth-cb6027d9171f1411965e070a328e090594e3231c.zip DotNetOpenAuth-cb6027d9171f1411965e070a328e090594e3231c.tar.gz DotNetOpenAuth-cb6027d9171f1411965e070a328e090594e3231c.tar.bz2 |
Fixed static field initialization.
Diffstat (limited to 'samples/OAuthAuthorizationServer/Controllers')
-rw-r--r-- | samples/OAuthAuthorizationServer/Controllers/OAuthController.cs | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/samples/OAuthAuthorizationServer/Controllers/OAuthController.cs b/samples/OAuthAuthorizationServer/Controllers/OAuthController.cs index b9fbe65..47c1977 100644 --- a/samples/OAuthAuthorizationServer/Controllers/OAuthController.cs +++ b/samples/OAuthAuthorizationServer/Controllers/OAuthController.cs @@ -31,23 +31,14 @@ };
#else
[Obsolete("You must use a real key for a real app.", true)]
- private static readonly RSAParameters ResourceServerEncryptionPublicKey = new RSAParameters();
+ private static readonly RSAParameters ResourceServerEncryptionPublicKey;
#endif
/// <summary>
- /// The resource server's encryption service provider with private key.
- /// </summary>
- /// <remarks>
- /// Since <see cref="RSACryptoServiceProvider"/> are not thread-safe, one must be created for each thread.
- /// </remarks>
- [ThreadStatic]
- private static RSACryptoServiceProvider ResourceServerEncryptionServiceProvider = CreateResourceServerEncryptionServiceProvider();
-
- /// <summary>
/// Creates the resource server's encryption service provider with private key.
/// </summary>
/// <returns>An RSA crypto service provider.</returns>
- private static RSACryptoServiceProvider CreateResourceServerEncryptionServiceProvider() {
+ internal static RSACryptoServiceProvider CreateResourceServerEncryptionServiceProvider() {
var resourceServerEncryptionServiceProvider = new RSACryptoServiceProvider();
resourceServerEncryptionServiceProvider.ImportParameters(ResourceServerEncryptionPublicKey);
return resourceServerEncryptionServiceProvider;
@@ -71,8 +62,10 @@ // TODO: code here
// Prepare the refresh and access tokens.
- var response = this.authorizationServer.PrepareAccessTokenResponse(request, ResourceServerEncryptionServiceProvider, accessTokenLifetime);
- return this.authorizationServer.Channel.PrepareResponse(response).AsActionResult();
+ using (var crypto = CreateResourceServerEncryptionServiceProvider()) {
+ var response = this.authorizationServer.PrepareAccessTokenResponse(request, crypto, accessTokenLifetime);
+ return this.authorizationServer.Channel.PrepareResponse(response).AsActionResult();
+ }
}
throw new HttpException((int)HttpStatusCode.BadRequest, "Missing OAuth 2.0 request message.");
|