SpiceDb 1.1.4
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SpiceDb --version 1.1.4
NuGet\Install-Package SpiceDb -Version 1.1.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SpiceDb" Version="1.1.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SpiceDb --version 1.1.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SpiceDb, 1.1.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SpiceDb as a Cake Addin #addin nuget:?package=SpiceDb&version=1.1.4 // Install SpiceDb as a Cake Tool #tool nuget:?package=SpiceDb&version=1.1.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SpiceDb
Simple SpiceDb client based on SpiceDB.Hierarchical.UI - Works with AuthZed
https://github.com/MaheshBailwal/SpiceDB.Hierarchical.UI
Available on Nuget at https://www.nuget.org/packages/SpiceDb
Usage
Install
Install the package using NuGet
Install-Package SpiceDb
Example Using UserSecrets
using Microsoft.Extensions.Configuration;
using SpiceDb.Example;
using SpiceDb.Example.MyObjects;
using SpiceDb.Models;
// This is just to keep the server address and token private
var builder = new ConfigurationBuilder()
.AddUserSecrets(typeof(Secrets).Assembly)
.AddEnvironmentVariables();
var configurationRoot = builder.Build();
var secrets = configurationRoot.GetSection("AuthZed").Get<Secrets>();
if (secrets is null)
throw new ArgumentException("Invalid secrets configuration");
// var serverAddress = "https://grpc.authzed.com";
var client = new SpiceDb.Client(secrets.ServerAddress, secrets.Token);
// Add relationship where user:bob is a reader of document:firstdoc
client.AddRelation("arch/document:firstdoc#reader@arch/user:bob");
client.AddRelation(new Relationship("arch/document:firstdoc", "reader", "arch/user:jacob"));
// This approach uses a little syntactic sugar to define each of the relations
client.AddRelation(ZedUser.WithId("carmella").CanRead(ZedDocument.WithId("firstdoc")));
// Check to see if user:bob is in fact now a reader of document:firstdoc
var bobCanRead = client.CheckPermission(new Permission("arch/document:firstdoc#reader@arch/user:bob"));
Console.WriteLine($"Can user bob read document:firstdoc? {bobCanRead.HasPermission}");
// true
// Check to see if user:carmella is in fact now a reader of document:firstdoc
var carmellaCanRead = client.CheckPermission(ZedUser.WithId("carmella").CanRead(ZedDocument.WithId("firstdoc")));
Console.WriteLine($"Can user carmella read document:firstdoc? {carmellaCanRead.HasPermission}");
// true
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- Google.Protobuf (>= 3.21.12)
- Grpc.Core (>= 2.46.6)
- Grpc.Net.Client (>= 2.51.0)
- Microsoft.Extensions.Configuration (>= 7.0.0)
- Microsoft.Extensions.Hosting (>= 7.0.0)
- YamlDotNet (>= 13.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.5.3 | 39,329 | 7/9/2024 |
1.5.2 | 15,390 | 5/20/2024 |
1.5.1 | 6,464 | 4/23/2024 |
1.5.0 | 4,037 | 4/11/2024 |
1.4.9 | 118 | 4/11/2024 |
1.4.8 | 100 | 4/11/2024 |
1.4.7 | 395 | 4/8/2024 |
1.4.6 | 102 | 4/8/2024 |
1.4.5 | 143 | 4/7/2024 |
1.4.4 | 124 | 4/6/2024 |
1.4.3 | 7,058 | 3/6/2024 |
1.4.2 | 136 | 2/21/2024 |
1.4.1 | 49,311 | 10/27/2023 |
1.4.0 | 2,632 | 8/17/2023 |
1.3.8 | 404 | 4/5/2023 |
1.3.7 | 233 | 4/5/2023 |
1.3.6 | 632 | 2/28/2023 |
1.3.5 | 276 | 2/21/2023 |
1.3.4 | 472 | 2/21/2023 |
1.3.3 | 267 | 2/20/2023 |
1.3.2 | 288 | 2/19/2023 |
1.2.8 | 288 | 2/17/2023 |
1.2.7 | 278 | 2/16/2023 |
1.2.5 | 274 | 2/16/2023 |
1.2.4 | 320 | 2/16/2023 |
1.2.2 | 296 | 2/16/2023 |
1.2.1 | 290 | 2/16/2023 |
1.2.0 | 265 | 2/16/2023 |
1.1.9 | 286 | 2/15/2023 |
1.1.8 | 324 | 2/15/2023 |
1.1.7 | 283 | 2/15/2023 |
1.1.6 | 270 | 2/15/2023 |
1.1.5 | 307 | 2/14/2023 |
1.1.4 | 312 | 2/14/2023 |
1.1.3 | 296 | 2/14/2023 |
1.1.2 | 302 | 2/14/2023 |
1.1.0 | 283 | 2/14/2023 |
1.0.7 | 309 | 2/14/2023 |
1.0.6 | 315 | 2/11/2023 |
1.0.5 | 307 | 2/11/2023 |
1.0.3 | 307 | 2/11/2023 |
1.0.1 | 301 | 2/11/2023 |
1.0.0 | 365 | 2/11/2023 |