Sidub.Platform.Authentication
1.0.17
Prefix Reserved
dotnet add package Sidub.Platform.Authentication --version 1.0.17
NuGet\Install-Package Sidub.Platform.Authentication -Version 1.0.17
<PackageReference Include="Sidub.Platform.Authentication" Version="1.0.17" />
paket add Sidub.Platform.Authentication --version 1.0.17
#r "nuget: Sidub.Platform.Authentication, 1.0.17"
// Install Sidub.Platform.Authentication as a Cake Addin #addin nuget:?package=Sidub.Platform.Authentication&version=1.0.17 // Install Sidub.Platform.Authentication as a Cake Tool #tool nuget:?package=Sidub.Platform.Authentication&version=1.0.17
Sidub Platform - Authentication
This repository contains the authentication module for the Sidub Platform. It provides authentication capabilities against services registered within the platform's service registry.
The framework tends to be integrated within the platform and does not need to be called directly. Consumption will usually be limited to leveraging the service reference and credentials for registration within the service registry.
This library contains core abstractions and services; concrete authentication
implementations are provided in separate packages such as
Sidub.Platform.Authentication.Http
and
Sidub.Platform.Authentication.Gremlin
.
Main Components
Basic use of the authentication framework involves registering an authentication service as a child of an authentication`requiring service, i.e., an OData service.
Credentials
General use credentials are provided within this library; additional credentials
are provided in separate packages such as
Sidub.Platform.Authentication.Credentials.Azure
. The following example
demonstrates how to leverage client secret credentials to authenticate against
an OData service.
services.AddSidubPlatform((services) =>
{
var serviceRegistry = new InMemoryServiceRegistry();
var storage = new StorageServiceReference("MyCrmEndpoint");
var storageConnector = new ODataStorageConnector()
{
ServiceUri = $"https://xxx.crm3.dynamics.com/api/data/v9.2/"
};
var auth = new AuthenticationServiceReference(
"MyCrmEndpoint.Authentication"
);
var authCredential = new ClientSecretCredential(
"<tenant`id>",
"<client`id>",
"<secret`key>"
);
serviceRegistry.RegisterServiceReference(storage, storageConnector);
serviceRegistry.RegisterServiceReference(auth, authCredential, storage);
return serviceRegistry;
});
Available credentials within this package include:
ClientSecretCredential
ClientCertificateCredential
GenericUserCredential
Authentication Handlers
Authentication handlers are devised around the client being authenticated. For example, interacting with OData services involves authenticating an HttpClient or FlurlClient against the target endpoint. Other handlers exist for various other client types, such as the GremlinServer used when interacting with Gremlin graph databases, or the HubConnectionBuilder used when interacting with SignalR hubs.
Since the authentication library is consumed by other platform libraries (i.e., Sidub.Platform.Storage), understanding of the authentication handlers, client types, etc. is not necessary for general use. For advanced use or when extending the platform, existing authentication handlers may be modified or new ones created.
Additional documentation will be added at a later date explaining how to extend the authentication framework and create custom authentication handlers.
License
This project is dual`licensed under the AGPL v3 or a proprietary license. For details, see https://sidub.ca/licensing or the LICENSE.txt file.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Options (>= 8.0.2)
- Microsoft.SourceLink.AzureRepos.Git (>= 8.0.0)
- Sidub.Platform.Core (>= 1.9.10)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Sidub.Platform.Authentication:
Package | Downloads |
---|---|
Sidub.Platform.Authentication.Credentials.Azure
Azure authentication credentials framework library for Sidub Platform. |
|
Sidub.Messaging
Messaging framework library for Sidub platform. |
|
Sidub.Platform.Authentication.Http
HTTP authentication framework library for Sidub platform. |
|
Sidub.Platform.Authentication.SignalR
SignalR authentication framework library for Sidub platform. |
|
Sidub.Platform.Authentication.IsolatedFunction
Service-side authentication library for Azure Isolated Functions. |
GitHub repositories
This package is not used by any popular GitHub repositories.