# .NET Core
We do not provide a .NET Core adapter. However, that is not needed because our Signicat Identity Broker supports OpenID Connect out of the box and .NET Core uses OpenID Connect as one of its built-in protocols:
{% embed url="https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-3.1&tabs=netcore-cli" %}
{% embed url="https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/?view=aspnetcore-3.1&tabs=visual-studio" %}
As such, using Signicat Identity Broker inside your own .NET Core application is very easy to set up and provides total control to the implementer. Our support team can help you in setting up the connection details, which afterwards can be used to set up the connection as in the example below:
services.AddAuthentication()
.AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, options => {
options.SignInScheme = IdentityConstants.ExternalScheme;
options.ClientId = "Your replying party id";
options.ClientSecret = "Client Secret provided by our broker";
options.Authority = "Broker OpenId Url"; //issuer from well-known configuration
options.ResponseType = "code";
options.GetClaimsFromUserInfoEndpoint = true;
options.Scope.Clear();
options.Scope.Add("openid");
options.ClaimActions.MapJsonKey("connectis:email","Email","string");
options.ClaimActions.MapJsonKey("connectis:loa","acr","string");
//The next section is only for extra parameters to be send if required
options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = context =>
{
context.ProtocolMessage.SetParameter("parameter name", "parameter value");
return Task.FromResult(0);
}
};
});
WARNING
The options.Authority field should be filled with the issuer from the well-known configuration of your identity broker, this can be found on:
https://yourdomain/broker/sp/oidc/.well-known/openid-configuration