Passage.Net.Extensions.DependencyInjection
1.2.0
See the version list below for details.
dotnet add package Passage.Net.Extensions.DependencyInjection --version 1.2.0
NuGet\Install-Package Passage.Net.Extensions.DependencyInjection -Version 1.2.0
<PackageReference Include="Passage.Net.Extensions.DependencyInjection" Version="1.2.0" />
paket add Passage.Net.Extensions.DependencyInjection --version 1.2.0
#r "nuget: Passage.Net.Extensions.DependencyInjection, 1.2.0"
// Install Passage.Net.Extensions.DependencyInjection as a Cake Addin #addin nuget:?package=Passage.Net.Extensions.DependencyInjection&version=1.2.0 // Install Passage.Net.Extensions.DependencyInjection as a Cake Tool #tool nuget:?package=Passage.Net.Extensions.DependencyInjection&version=1.2.0
<img src="https://storage.googleapis.com/passage-docs/passage-logo-gradient.svg" alt="Passage logo" style="width:250px;"/>
Passage.NET
This dotnet SDK allows for verification of server-side authentication for applications using Passage
💾 Installation
Install this package using nuget.
dotnet add pacakge Passage.NET
💉 Dependency injection
If you want to integrate with HttpClientFactory and Microsoft.Extensions.DependencyInjection
dotnet add pacakge Passage.Net.Extensions.DependencyInjection
Usage:
//...
builder.Services.AddPassage(options =>
{
options.AppId = "YOUR_APP_ID";
options.ApiKey = "YOUR_API_KEY";
});
//...
var app = builder.Build();
//...
app.MapGet("/getapp", async (IPassage passage) =>
{
var appinfo = await passage.App.Get();
return appinfo;
})
📒 Usage
Validate JWT
You need to provide Passage with your App ID in order to verify the JWTs.
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID"
}
var passage = new Passage(config);
var subject = await passage.Session.ValidateToken("JWT_TO_VALIDATE");
Logout
You can revoke refresh token from the given user
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID"
}
var passage = new Passage(config);
var subject = await passage.Session.RevokeRefreshToken("USER_ID");
Retrieve App Info
To retrieve information about an app, you should use the passage.GetApp() function.
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
var passageApp = await passage.App.Get();
Retrieve User Information By Identifier
To retrieve information about a user, you should use the passage.GetUserByIdentifier("your@email.cc") function.
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
var passageUser = await passage.User.GetByIdentifier("user@email.cc");
Retrieve User Information By User Id
To retrieve information about a user, you should use the passage.GetUser("USER_ID") function.
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
var passageUser = await passage.User.Get("USER_ID");
Create a User
You can also create a Passage user by providing an email or phone (phone number must be a valid E164 phone number).
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
var createRequest = new CreateUserRequest()
{
Email = "user@email.cc",
//note that user_metadata is an optional field and is defined in your Passage App settings (Registration Fields).
User_metadata = new
{
example = 123
}
};
var passageUser = await passage.User.Create(createRequest);
Update a User
You can update a user attributes
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
var updateRequest = new UpdateUserRequest()
{
Email = "user@email.cc",
//note that user_metadata is an optional field and is defined in your Passage App settings (Registration Fields).
User_metadata = new
{
example = 1234
}
};
var passageUser = await passage.User.Update("USER_ID",updateRequest);
Delete a User
To delete a Passage user, you will need to provide the userID, and corresponding app credentials.
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
await passage.User.Delete("USER_ID");
Activate a User
You can activate a user manually
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
var passageUser= await passage.User.Activate("USER_ID");
Deactivate a User
You can deactivate a user manually
var config = new PassageConfig()
{
AppId = "YOUR_APP_ID",
ApiKey = "YOUR_API_KEY"
}
var passage = new Passage(config);
var passageUser= await passage.User.Deactivate("USER_ID");
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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- Microsoft.Extensions.Http (>= 2.1.0)
- Passage.NET (>= 1.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.