本文整理匯總了C#中Thinktecture.AuthorizationServer.OAuth2.TokenRequest類的典型用法代碼示例。如果您正苦於以下問題:C# TokenRequest類的具體用法?C# TokenRequest怎麽用?C# TokenRequest使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
TokenRequest類屬於Thinktecture.AuthorizationServer.OAuth2命名空間,在下文中一共展示了TokenRequest類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: ExpiredRefreshToken
public void ExpiredRefreshToken()
{
TestTokenHandleManager handleManager =
new TestTokenHandleManager("abc", "codeclient", "https://validredirect", expired: true);
var validator = new TokenRequestValidator(handleManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.RefreshToken,
Refresh_Token = "abc"
};
try
{
var result = validator.Validate(app, request, _client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidGrant, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
開發者ID:pksorensen,項目名稱:Thinktecture.AuthorizationServer,代碼行數:25,代碼來源:TokenRequest_Validation_RefreshToken.cs
示例2: MissingClientId
public void MissingClientId()
{
var validator = new TokenRequestValidator();
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.Password,
UserName = "username",
Password = "password",
Scope = "read"
};
try
{
var client = Principal.Create("Test",
new Claim("password", "secret"));
var result = validator.Validate(app, request, client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidClient, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
示例3: ValidRequest
public void ValidRequest()
{
var validator = new TokenRequestValidator(_handleManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.RefreshToken,
Refresh_Token = "abc"
};
var result = validator.Validate(app, request, _client);
}
開發者ID:RomanDidenko,項目名稱:Thinktecture.AuthorizationServer,代碼行數:12,代碼來源:TokenRequest_Validation_RefreshToken.cs
示例4: ValidSingleScope
public void ValidSingleScope()
{
var validator = new TokenRequestValidator();
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.ClientCredentials,
Scope = "read"
};
var result = validator.Validate(app, request, _client);
}
示例5: ValidSingleScope
public void ValidSingleScope()
{
var validator = new TokenRequestValidator(_clientManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = "assertion",
Assertion = "assertion",
Scope = "read"
};
var result = validator.Validate(app, request, _client);
}
開發者ID:kahneraja,項目名稱:Thinktecture.AuthorizationServer,代碼行數:13,代碼來源:TokenRequest_Validation_Assertion.cs
示例6: ValidCodeGrant
public void ValidCodeGrant()
{
var validator = new TokenRequestValidator(new TestTokenHandleManager("codeclient", "https://todo"));
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.AuthorizationCode,
Code = "abc",
Redirect_Uri = "https://todo"
};
var result = validator.Validate(app, request, _codeClient);
}
開發者ID:Excelsior-Charles,項目名稱:Thinktecture.AuthorizationServer,代碼行數:13,代碼來源:TokenRequestValidationTests.cs
示例7: ValidSingleScope
public void ValidSingleScope()
{
var validator = new TokenRequestValidator(_handleManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.AuthorizationCode,
Code = "abc",
Redirect_Uri = "https://validredirect"
};
var result = validator.Validate(app, request, _client);
}
示例8: ValidSingleScope
public void ValidSingleScope()
{
var validator = new TokenRequestValidator();
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.Password,
UserName = "username",
Password = "password",
Scope = "read"
};
var result = validator.Validate(app, request, _client);
}
示例9: Post
public HttpResponseMessage Post(string appName, TokenRequest request)
{
Tracing.Start("OAuth2 Token Endpoint");
// make sure application is registered
var application = _config.FindApplication(appName);
if (application == null)
{
Tracing.Error("Application not found: " + appName);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Not found");
}
// validate token request
ValidatedRequest validatedRequest;
try
{
validatedRequest = new TokenRequestValidator(_handleManager).Validate(application, request, ClaimsPrincipal.Current);
}
catch (TokenRequestValidationException ex)
{
Tracing.Error("Aborting OAuth2 token request");
return Request.CreateOAuthErrorResponse(ex.OAuthError);
}
// switch over the grant type
if (validatedRequest.GrantType.Equals(OAuthConstants.GrantTypes.Password))
{
return ProcessResourceOwnerCredentialRequest(validatedRequest);
}
else if (validatedRequest.GrantType.Equals(OAuthConstants.GrantTypes.AuthorizationCode))
{
return ProcessAuthorizationCodeRequest(validatedRequest);
}
else if (string.Equals(validatedRequest.GrantType, OAuthConstants.GrantTypes.RefreshToken))
{
return ProcessRefreshTokenRequest(validatedRequest);
}
else if (string.Equals(validatedRequest.GrantType, OAuthConstants.GrantTypes.ClientCredentials))
{
return ProcessClientCredentialsRequest(validatedRequest);
}
Tracing.Error("invalid grant type: " + request.Grant_Type);
return Request.CreateOAuthErrorResponse(OAuthConstants.Errors.UnsupportedGrantType);
}
示例10: MissingScope
public void MissingScope()
{
var validator = new TokenRequestValidator();
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.ClientCredentials,
};
try
{
var result = validator.Validate(app, request, _client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidScope, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
示例11: MissingCode
public void MissingCode()
{
var validator = new TokenRequestValidator(_handleManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.RefreshToken,
};
try
{
var result = validator.Validate(app, request, _client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidGrant, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
開發者ID:RomanDidenko,項目名稱:Thinktecture.AuthorizationServer,代碼行數:21,代碼來源:TokenRequest_Validation_RefreshToken.cs
示例12: MissingScope
public void MissingScope()
{
var validator = new TokenRequestValidator(_clientManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.Password,
UserName = "JohnSmith",
Password = "12345678",
};
try
{
var result = validator.Validate(app, request, _client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidScope, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
開發者ID:kahneraja,項目名稱:Thinktecture.AuthorizationServer,代碼行數:23,代碼來源:TokenRequest_Validation_Password.cs
示例13: NonMatchingRedirectUri
public void NonMatchingRedirectUri()
{
var validator = new TokenRequestValidator(_handleManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.AuthorizationCode,
Code = "abc",
Redirect_Uri = "https://invalidredirect"
};
try
{
var result = validator.Validate(app, request, _client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidRequest, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
示例14: UnknownScope
public void UnknownScope()
{
var validator = new TokenRequestValidator(_clientManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = "assertion",
Assertion = "assertion",
Scope = "unknown"
};
try
{
var result = validator.Validate(app, request, _client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidScope, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
開發者ID:kahneraja,項目名稱:Thinktecture.AuthorizationServer,代碼行數:23,代碼來源:TokenRequest_Validation_Assertion.cs
示例15: ValidateClientCredentialsGrant
private void ValidateClientCredentialsGrant(ValidatedRequest validatedRequest, TokenRequest request)
{
if (validatedRequest.Client.Flow != OAuthFlow.Client)
{
throw new TokenRequestValidationException(
"Client flow not allowed for client",
OAuthConstants.Errors.UnsupportedGrantType);
}
ValidateScopes(validatedRequest, request);
}