本文整理汇总了C#中Thinktecture.AuthorizationServer.OAuth2.TokenRequest类的典型用法代码示例。如果您正苦于以下问题:C# TokenRequest类的具体用法?C# TokenRequest怎么用?C# TokenRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TokenRequest类属于Thinktecture.AuthorizationServer.OAuth2命名空间,在下文中一共展示了TokenRequest类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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.");
}
开发者ID:Griimm,项目名称:Thinktecture.AuthorizationServer,代码行数:27,代码来源:TokenRequest_Validation_General.cs
示例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);
}
开发者ID:Griimm,项目名称:Thinktecture.AuthorizationServer,代码行数:12,代码来源:TokenRequest_Validation_Client.cs
示例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);
}
开发者ID:Griimm,项目名称:Thinktecture.AuthorizationServer,代码行数:13,代码来源:TokenRequest_Validation_Code.cs
示例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);
}
开发者ID:Griimm,项目名称:Thinktecture.AuthorizationServer,代码行数:14,代码来源:TokenRequest_Validation_Password.cs
示例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);
}
开发者ID:nanderto,项目名称:Thinktecture.AuthorizationServer,代码行数:45,代码来源:TokenController.cs
示例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.");
}
开发者ID:Griimm,项目名称:Thinktecture.AuthorizationServer,代码行数:21,代码来源:TokenRequest_Validation_Client.cs
示例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.");
}
开发者ID:Griimm,项目名称:Thinktecture.AuthorizationServer,代码行数:23,代码来源:TokenRequest_Validation_Code.cs
示例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);
}
开发者ID:Excelsior-Charles,项目名称:Thinktecture.AuthorizationServer,代码行数:11,代码来源:TokenRequestValidator.cs
示例16: AnonymousCodeGrant
public void AnonymousCodeGrant()
{
var validator = new TokenRequestValidator();
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.AuthorizationCode,
Code = "abc",
Redirect_Uri = "https://validredirect"
};
try
{
var result = validator.Validate(app, request, Principal.Anonymous);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidClient, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
开发者ID:Griimm,项目名称:Thinktecture.AuthorizationServer,代码行数:23,代码来源:TokenRequest_Validation_Code.cs
示例17: DisabledClient
public void DisabledClient()
{
var validator = new TokenRequestValidator();
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.ClientCredentials
};
try
{
var client = Principal.Create("Test",
new Claim("client_id", "disabledclient"),
new Claim("secret", "secret"));
var result = validator.Validate(app, request, client);
}
catch (TokenRequestValidationException ex)
{
Assert.AreEqual(OAuthConstants.Errors.InvalidClient, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
开发者ID:murat0058,项目名称:AuthorizationServer,代码行数:25,代码来源:TokenRequest_Validation_General.cs
示例18: UnauthorizedClientCredentialGrant
public void UnauthorizedClientCredentialGrant()
{
var validator = new TokenRequestValidator(_handleManager, _clientManager);
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.UnauthorizedClient, ex.OAuthError);
return;
}
Assert.Fail("No exception thrown.");
}
开发者ID:kahneraja,项目名称:Thinktecture.AuthorizationServer,代码行数:21,代码来源:TokenRequest_Validation_Code.cs
示例19: InvalidCodeToClientBinding
public void InvalidCodeToClientBinding()
{
var handleManager =
new TestTokenHandleManager("abc", "someotherclient", "https://validredirect");
var validator = new TokenRequestValidator(handleManager, _clientManager);
var app = _testConfig.FindApplication("test");
var request = new TokenRequest
{
Grant_Type = OAuthConstants.GrantTypes.AuthorizationCode,
Code = "abc",
Redirect_Uri = "https://validredirect"
};
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:kahneraja,项目名称:Thinktecture.AuthorizationServer,代码行数:26,代码来源:TokenRequest_Validation_Code.cs
示例20: ValidateRefreshTokenGrant
private void ValidateRefreshTokenGrant(ValidatedRequest validatedRequest, TokenRequest request)
{
if (_handleManager == null)
{
throw new ArgumentNullException("HandleManager");
}
if (!validatedRequest.Client.AllowRefreshToken)
{
throw new TokenRequestValidationException(
"Refresh tokens not allowed for client",
OAuthConstants.Errors.UnsupportedGrantType);
}
// check for refresh token
if (string.IsNullOrWhiteSpace(request.Refresh_Token))
{
throw new TokenRequestValidationException(
"Missing refresh token",
OAuthConstants.Errors.InvalidGrant);
}
validatedRequest.RefreshToken = request.Refresh_Token;
Tracing.Information("Refresh token: " + validatedRequest.RefreshToken);
// check for refresh token in datastore
var handle = _handleManager.Get(validatedRequest.RefreshToken);
if (handle == null)
{
throw new TokenRequestValidationException(
"Refresh token not found: " + validatedRequest.RefreshToken,
OAuthConstants.Errors.InvalidGrant);
}
validatedRequest.TokenHandle = handle;
Tracing.Information("Token handle found: " + handle.HandleId);
// check the client binding
if (handle.Client.ClientId != validatedRequest.Client.ClientId)
{
throw new TokenRequestValidationException(
string.Format("Client {0} is trying to refresh token from {1}.", validatedRequest.Client.ClientId, handle.Client.ClientId),
OAuthConstants.Errors.InvalidGrant);
}
}
开发者ID:Excelsior-Charles,项目名称:Thinktecture.AuthorizationServer,代码行数:45,代码来源:TokenRequestValidator.cs
注:本文中的Thinktecture.AuthorizationServer.OAuth2.TokenRequest类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论