身份提供者: Keycloak-9.0.0 .net版本: 4.5.2
基本上,我正在尝试集成c# webapi服务,如下所示。
我已经为C#使用了Keycloak连接器(C#),它被设计为一个自带的身份验证中间件组件。
用钥匙斗篷样本我得到了错误。但是,我不确定该调用是否被转发到keycloak进行验证,而是得到了一个错误。
启动类
public void Configuration(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Bearer"
});
app.UseKeycloakAuthentication(new KeycloakAuthenticationOptions
{
Realm = "test_keycloak",
ClientId = "test",
ClientSecret = "9f25fd55-851f-4eed-9fb9-24a0a0e4ff11",
KeycloakUrl = "http://localhost:8080/auth",
AuthenticationType = "Bearer",
SignInAsAuthenticationType = "Bearer",
AllowUnsignedTokens = false,
DisableIssuerSigningKeyValidation = false,
DisableIssuerValidation = false,
UseRemoteTokenValidation = true,
EnableWebApiMode = true,
DisableAudienceValidation = false,
Scope= "openid",
});
}我没看到钥匙斗篷上有任何记录。会有什么问题吗?如何调试?
由于它是一个标准的Oauth2流,我是否能够使用Microsoft.Owin.Security.OpenIdConnect进行令牌验证?
例如,在java spring中,安全性具有相同的简单配置(使用jwt -url)。
需要你的投入!
发布于 2020-08-12 17:27:17
我也可以用microsoft.owin.security.jwt来解决问题。这是密码。
注意:还没有进行异常处理。只是基本代码。
public void Configuration(IAppBuilder app) {
HttpClient htpp = new HttpClient();
var keysResponse = htpp.GetAsync("https://<FQDN of keycloak>/auth/realms/<realm>/protocol/openid-connect/certs").Result;
var rawKeys = keysResponse.Content.ReadAsStringAsync().Result;
Microsoft.IdentityModel.Tokens.JsonWebKeySet jsonWebKeySet = JsonConvert.DeserializeObject<Microsoft.IdentityModel.Tokens.JsonWebKeySet>(rawKeys);
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions {
AuthenticationType = DefaultAuthenticationTypes.ExternalBearer,
AuthenticationMode = AuthenticationMode.Active,
Realm = <realm>",
TokenValidationParameters = new TokenValidationParameters() {
AuthenticationType = "Bearer",
ValidateIssuer = true,
ValidateIssuerSigningKey = true,
ValidAudiences = new string[] { <clientID> },
ValidIssuer = "<FQDN of keycloak>/auth/realms/<realm>",
ValidateLifetime = true,
ValidateAudience = true,
IssuerSigningKeys = jsonWebKeySet.GetSigningKeys(),
}
});
}https://stackoverflow.com/questions/61832165
复制相似问题