PopIdentity 4.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package PopIdentity --version 4.0.0                
NuGet\Install-Package PopIdentity -Version 4.0.0                
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="PopIdentity" Version="4.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PopIdentity --version 4.0.0                
#r "nuget: PopIdentity, 4.0.0"                
#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 PopIdentity as a Cake Addin
#addin nuget:?package=PopIdentity&version=4.0.0

// Install PopIdentity as a Cake Tool
#tool nuget:?package=PopIdentity&version=4.0.0                

POP Identity

POP Identity is a lightweight, low-opinion, mini-library for social and third-party OAuth logins in ASP.NET Core. It allows for request-time configuration instead of global, startup time configuration.

Project status

v4 has shipped and is available via Nuget. Running against netstandard2.1, it has support for round-tripping to Google, Facebook, Microsoft and any generic OAuth2 service that returns a JWT. This version contains package updates, and a simplified sample project.

Who is this for?

This is for people who think that the existing ASP.NET Core external login system is too much magic, or too tightly coupled to Identity and/or EntityFramework. It didn't evolve much from the old OWIN days. It has the following goals:

  • Be super light-weight, handing off just enough mundane detail to the library.
  • Allow code to change client ID's, secrets and other parameters at request time instead of during startup (which is what the framework bits do). This makes it appropriate for multi-tenant situations.
  • Allow the developer to persist the resulting data (external ID's, name, email, etc.) in whatever manner makes sense. This library has no persistence.
  • Defer authorization logic to the developer. It doesn't setup any claims identity... that's up to you.

Getting started

The sample web app in the source is the easiest way to see how this works. The HomeController has enough comments to see how best to use the framework. The goal is to be able to craft a login experience from scratch at request time, or leverage the configuration values.

POP Forums uses this library today. To learn more about that implementation, go here: https://popworldmedia.github.io/POPForums/externalloginconfig.html

Getting the bits

POP Identity is available as a Nuget package:

https://www.nuget.org/packages/PopIdentity/

CI build

https://www.myget.org/F/popidentity/api/v3/index.json

Build status

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on PopIdentity:

Package Downloads
PopForums.Mvc

PopForums Mvc Class Library

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on PopIdentity:

Repository Stars
POPWorldMedia/POPForums
A forum application running on ASP.NET Core, available in six languages.
Version Downloads Last updated
4.5.0 48 11/15/2024
4.4.0 532 1/13/2024
4.3.1 1,631 6/21/2023
4.3.0 922 2/19/2023
4.2.0 274 2/15/2023
4.1.2 258 2/10/2023
4.1.1 247 2/10/2023
4.1.0 245 2/10/2023
4.0.0 968 1/29/2023
3.0.0 2,891 11/25/2020
2.0.0 1,845 12/11/2019
1.0.0 2,693 8/10/2019