diff options
Diffstat (limited to 'projecttemplates/RelyingPartyLogic/OAuthServiceProvider.cs')
-rw-r--r-- | projecttemplates/RelyingPartyLogic/OAuthServiceProvider.cs | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/projecttemplates/RelyingPartyLogic/OAuthServiceProvider.cs b/projecttemplates/RelyingPartyLogic/OAuthServiceProvider.cs index 1880d80..807da2d 100644 --- a/projecttemplates/RelyingPartyLogic/OAuthServiceProvider.cs +++ b/projecttemplates/RelyingPartyLogic/OAuthServiceProvider.cs @@ -73,6 +73,22 @@ namespace RelyingPartyLogic { } public static void AuthorizePendingRequestToken() { + var response = AuthorizePendingRequestTokenAndGetResponse(); + if (response != null) { + serviceProvider.Channel.Send(response); + } + } + + public static OutgoingWebResponse AuthorizePendingRequestTokenAsWebResponse() { + var response = AuthorizePendingRequestTokenAndGetResponse(); + if (response != null) { + return serviceProvider.Channel.PrepareResponse(response); + } else { + return null; + } + } + + private static UserAuthorizationResponse AuthorizePendingRequestTokenAndGetResponse() { var pendingRequest = PendingAuthorizationRequest; if (pendingRequest == null) { throw new InvalidOperationException("No pending authorization request to authorize."); @@ -84,9 +100,7 @@ namespace RelyingPartyLogic { PendingAuthorizationRequest = null; var response = serviceProvider.PrepareAuthorizationResponse(pendingRequest); - if (response != null) { - serviceProvider.Channel.Send(response); - } + return response; } /// <summary> |