Rystem.Authentication.Social.Abstractions
10.0.7
dotnet add package Rystem.Authentication.Social.Abstractions --version 10.0.7
NuGet\Install-Package Rystem.Authentication.Social.Abstractions -Version 10.0.7
<PackageReference Include="Rystem.Authentication.Social.Abstractions" Version="10.0.7" />
<PackageVersion Include="Rystem.Authentication.Social.Abstractions" Version="10.0.7" />
<PackageReference Include="Rystem.Authentication.Social.Abstractions" />
paket add Rystem.Authentication.Social.Abstractions --version 10.0.7
#r "nuget: Rystem.Authentication.Social.Abstractions, 10.0.7"
#:package Rystem.Authentication.Social.Abstractions@10.0.7
#addin nuget:?package=Rystem.Authentication.Social.Abstractions&version=10.0.7
#tool nuget:?package=Rystem.Authentication.Social.Abstractions&version=10.0.7
Rystem.Authentication.Social.Abstractions
Rystem.Authentication.Social.Abstractions contains the shared contracts and models used by the Authentication/Social packages.
It is the common .NET vocabulary between:
Rystem.Authentication.SocialRystem.Authentication.Social.Blazor
The TypeScript client mirrors many of the same concepts, but it does not consume this package directly.
Installation
dotnet add package Rystem.Authentication.Social.Abstractions
What this package adds
The core public types are:
ProviderTypeISocialUserILocalizedSocialUserTokenResponseTokenCheckerSettingsRystemClaimTypes
ProviderType
ProviderType identifies the server-side token checker to use.
Current values are:
DotNetGoogleMicrosoftFacebookGitHubAmazonLinkedinXInstagramPinterestTikTok
Important note: DotNet is not a social provider. It is the internal provider used when refreshing bearer tokens that were already issued by the server package.
ISocialUser
ISocialUser is the minimum user contract across the stack.
public interface ISocialUser
{
string? Username { get; set; }
}
The interface also exposes static helpers in the current implementation:
ISocialUser.EmptyISocialUser.OnlyUsername(username)
Those helpers are used by the server package when no custom ISocialUserProvider is present.
ILocalizedSocialUser
ILocalizedSocialUser extends ISocialUser with:
string? Language { get; set; }
This matters mainly for the Blazor package, where the login flow can persist a language choice and feed the localization middleware.
TokenResponse
TokenResponse is the normalized result of a successful provider check inside the server package.
public sealed class TokenResponse
{
public required string Username { get; set; }
public required List<Claim> Claims { get; set; }
}
Important detail: TokenResponse.Empty is currently just null.
TokenCheckerSettings
TokenCheckerSettings carries request context from the token endpoint into a provider-specific token checker.
public sealed class TokenCheckerSettings
{
public string? Domain { get; set; }
public string? RedirectPath { get; set; }
public Dictionary<string, string>? AdditionalParameters { get; set; }
}
Use cases:
Domaincomes fromOriginorRefererRedirectPathlets a client communicate the callback path it usedAdditionalParameterscarries provider-specific extras such as PKCEcode_verifier
Helper methods:
GetRedirectUri()combinesDomainandRedirectPathGetParameter(key)reads fromAdditionalParametersWithParameter(key, value)appends a parameter fluently
Example:
var settings = new TokenCheckerSettings
{
Domain = "https://app.example.com",
RedirectPath = "/account/login"
}.WithParameter("code_verifier", verifier);
string redirectUri = settings.GetRedirectUri();
RystemClaimTypes
This package currently defines one custom claim constant:
RystemClaimTypes.Language
It is intended for language values such as en, it, or es and is used by the sample social user provider plus the Blazor localization flow.
Important caveats
This package is shared-model oriented, not truly dependency-minimal
Even though it is called Abstractions, its project file currently references token and OIDC-related packages. So it is not a pure POCO-only dependency.
DotNet is easy to misunderstand
If you see ProviderType.DotNet, think refresh-token reuse inside the server package, not an external login provider.
Grounded by source files
src/Authentication/Rystem.Authentication.Social.Abstractions/Models/ProviderType.cssrc/Authentication/Rystem.Authentication.Social.Abstractions/Models/ISocialUser.cssrc/Authentication/Rystem.Authentication.Social.Abstractions/Models/ILocalizedSocialUser.cssrc/Authentication/Rystem.Authentication.Social.Abstractions/Models/TokenResponse.cssrc/Authentication/Rystem.Authentication.Social.Abstractions/Models/TokenCheckerSettings.cs
Use this package when you need the shared Authentication/Social contracts without taking a dependency on the full server or Blazor runtime package.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Google.Apis.Auth (>= 1.73.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.17.0)
- Microsoft.IdentityModel.Tokens (>= 8.17.0)
- Rystem.DependencyInjection (>= 10.0.7)
- System.IdentityModel.Tokens.Jwt (>= 8.17.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Rystem.Authentication.Social.Abstractions:
| Package | Downloads |
|---|---|
|
Rystem.Authentication.Social
Rystem.Authentication.Social helps you to integrate with new .Net Identity system and social logins. |
|
|
Rystem.Authentication.Social.Blazor
Rystem.Authentication.Social helps you to integrate with new .Net Identity system and social logins. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.7 | 56 | 3/26/2026 |
| 10.0.6 | 158,124 | 3/3/2026 |
| 10.0.5 | 194 | 2/22/2026 |
| 10.0.4 | 222 | 2/9/2026 |
| 10.0.3 | 147,966 | 1/28/2026 |
| 10.0.1 | 209,099 | 11/12/2025 |
| 9.1.3 | 418 | 9/2/2025 |
| 9.1.2 | 764,595 | 5/29/2025 |
| 9.1.1 | 97,861 | 5/2/2025 |
| 9.0.32 | 186,623 | 4/15/2025 |
| 9.0.31 | 5,875 | 4/2/2025 |
| 9.0.30 | 88,814 | 3/26/2025 |
| 9.0.29 | 9,049 | 3/18/2025 |
| 9.0.28 | 264 | 3/17/2025 |
| 9.0.27 | 262 | 3/16/2025 |
| 9.0.26 | 305 | 3/13/2025 |
| 9.0.25 | 52,184 | 3/9/2025 |
| 9.0.23 | 207 | 3/9/2025 |
| 9.0.21 | 388 | 3/6/2025 |
| 9.0.20 | 19,568 | 3/6/2025 |