summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2012-12-24 07:29:29 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2012-12-24 07:29:29 -0800
commit69900e553400e56f709ab773e1f563194f792b4b (patch)
tree9bd493701b42b91b0c223c9dc894df07070b2d76
parent8505f8ddcb35958e3b81ee90f54b0efbde13f693 (diff)
downloadDotNetOpenAuth-69900e553400e56f709ab773e1f563194f792b4b.zip
DotNetOpenAuth-69900e553400e56f709ab773e1f563194f792b4b.tar.gz
DotNetOpenAuth-69900e553400e56f709ab773e1f563194f792b4b.tar.bz2
Verifies that client credential grants receive approved scope in response.
Closes #242
-rw-r--r--src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs
index 27b0050..22c4545 100644
--- a/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs
@@ -102,6 +102,34 @@ namespace DotNetOpenAuth.Test.OAuth2 {
}
[Test]
+ public void GetClientAccessTokenReturnsApprovedScope() {
+ string[] ApprovedScopes = new[] { "Scope2", "Scope3" };
+ var authServer = CreateAuthorizationServerMock();
+ authServer.Setup(
+ a => a.IsAuthorizationValid(It.Is<IAuthorizationDescription>(d => d.User == null && d.ClientIdentifier == ClientId && MessagingUtilities.AreEquivalent(d.Scope, TestScopes))))
+ .Returns(true);
+ authServer.Setup(
+ a => a.CheckAuthorizeClientCredentialsGrant(It.Is<IAccessTokenRequest>(d => d.ClientIdentifier == ClientId && MessagingUtilities.AreEquivalent(d.Scope, TestScopes))))
+ .Returns<IAccessTokenRequest>(req => {
+ var response = new AutomatedAuthorizationCheckResponse(req, true);
+ response.ApprovedScope.ResetContents(ApprovedScopes);
+ return response;
+ });
+ var coordinator = new OAuth2Coordinator<WebServerClient>(
+ AuthorizationServerDescription,
+ authServer.Object,
+ new WebServerClient(AuthorizationServerDescription),
+ client => {
+ var authState = client.GetClientAccessToken(TestScopes);
+ Assert.That(authState.Scope, Is.EquivalentTo(ApprovedScopes));
+ },
+ server => {
+ server.HandleTokenRequest().Respond();
+ });
+ coordinator.Run();
+ }
+
+ [Test]
public void CreateAuthorizingHandlerBearer() {
var client = new WebServerClient(AuthorizationServerDescription);
string bearerToken = "mytoken";