KO
|
EN
gitlite — search
Search
#python
#react
#tensorflow
#c
#vue
#machine-learning
#javascript
#vuejs
#python3
#mongodb
#nodejs
#ios
casdoor-dotnet-sdk
★ 40
Open GitHub ↗
.NET client SDK for Casdoor
Download README (.md)
Explore Similar Repositories
casbin-Talent2026
:
Casbin明日之星预选生计划-Talents for Casbin 2026 【学生报名请加QQ群:540163681】
casdoor-python-sdk
:
Python client SDK for Casdoor
casbin-oa
:
The OA system
casdoor-js-sdk
:
Javascript client SDK for Casdoor
elk-auth-casdoor
:
ELK (Elasticsearch, Kibana) auth based on Casdoor
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
casdoor-dotnet-sdk
?
Download (.md)
# Casdoor .NET SDK [](https://github.com/casdoor/casdoor-dotnet-sdk/actions) [](https://github.com/casdoor/casdoor-dotnet-sdk/blob/master/LICENSE) The Casdoor's SDK for .NET/ASP.NET Core, which will allow you to easily connect your application to the Casdoor authentication system without having to implement it from scratch. ## Packages This SDK is built using the following packages for different platforms: | Package Name | NuGet | Description | Supported frameworks | |----------------------|---------------------------------------------------------------------------------------------------------------------|----------------------|----------------------------------------| | `Casdoor.Client` | [](https://www.nuget.org/packages/Casdoor.Client) | SDK for .NET | .NET Standard 2.0/.NET 4.6.1 and newer | | `Casdoor.AspNetCore` | [](https://www.nuget.org/packages/Casdoor.AspNetCore) | SDK for ASP.NET Core | .NET Core 3.1 and newer | | `Casdoor.Native` | `wait publish` | SDK for WPF or Maui | - | ## Casdoor Client Casdoor.Client is a base package for the specific platform SDKs. It contains follow features. - CasdoorClient: A API client implementation for the Casdoor. You can use to call the Casdoor APIs. ##### Usage ```cs var httpClient = new HttpClient(); var client = new CasdoorClient(HttpClient, new CasdoorOptions{ Endpoint = "https://door.casdoor.com", OrganizationName = "casbin", // your Casdoor organization ApplicationName = "app-example", // your Casdoor application ApplicationType = "native", // webapp, webapi or native ClientId = "b800a86702dd4d29ec4d", // your Casdoor application's client ID ClientSecret = "1219843a8db4695155699be3a67f10796f2ec1d5", // your Casdoor application's client secret }); // Request tokens (You should enable credentials flow in your Casdoor application) var token = await client.RequestClientCredentialsTokenAsync(); client.SetBearerToken(token); var currentUser = client.ParseJwtToken(token.AccessToken); // Request user info var users = await client.GetUsersAsync(); // Request roles var roles = await client.GetRolesAsync(); // Request Permissions var persmissions = await client.GetPermissionsAsync(); var policy = new CasdoorPermissionRule() { Id = $"{currentUser.Owner}/{persmissions.First().Name}", V0 = $"{currentUser.Owner}/{currentUser.Name}", V1 = "example-resource", V2 = "example-action" }; var isPermissionAvaliable = await client.EnforceAsync(policy); ``` - CasdoorOptions (Updating) - Extensions (Updating) ## Casdoor AspNetCore ### Getting started 1. Add the following settings about casdoor in your appsettings.json file: ```json5 { "Casdoor": { "Endpoint": "<your Casdoor endpoint>", "OrganizationName": "<your Casdoor organization>", "ApplicationName": "<your Casdoor application>", "ApplicationType": "webapp", // webapp or webapi (webapi is not yet supported) "ClientId": "<your Casdoor application's client ID>", "ClientSecret": "<your Casdoor application's client secret>", // Optional: The callback path that the client will be redirected to // after the user has authenticated. default is "/casdoor/signin-callback" "CallbackPath": "/callback", // Optional: Whether require https for casdoor endpoint "RequireHttpsMetadata": false, // Optional: The scopes that the client will request "Scopes": [ "openid", "profile", "email", ] } } ``` 2. Add the following code to your webapp: ```csharp builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCasdoor(builder.Configuration.GetSection("Casdoor")) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme); ``` 3. Now you can use the Casdoor authentication scheme in your webapp! ### Samples #### 1. [MVC sample](https://github.com/casdoor/casdoor-dotnet-sdk/tree/master/samples/MvcApp) It is a MVC webapp that uses Casdoor authentication. The default settings use the public demo Casdoor and Casnode configuration, you can directly start the webapp by running: ```bash dotnet run ``` Or change the settings in the appsettings.json according to your deployed casdoor configuration.[README.md](README.md) ## License This project is licensed under the [Apache 2.0 license](LICENSE).