StackSpot.Authentication
1.0.2
dotnet add package StackSpot.Authentication --version 1.0.2
NuGet\Install-Package StackSpot.Authentication -Version 1.0.2
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="StackSpot.Authentication" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StackSpot.Authentication --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: StackSpot.Authentication, 1.0.2"
#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 StackSpot.Authentication as a Cake Addin #addin nuget:?package=StackSpot.Authentication&version=1.0.2 // Install StackSpot.Authentication as a Cake Tool #tool nuget:?package=StackSpot.Authentication&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
StackSpot Authentication
Componente projetado para permitir que API verifique se o usuário está autenticado e tem acesso a um recurso restrito.
Versões suportadas
- net5.0
- net6.0
Uso
1. Adicione o pacote NuGet StackSpot.Authentication
ao seu projeto.
dotnet add package StackSpot.Authentication
2. Adicione ao seu IServiceCollection
via services.AddTokenAuthentication()
no Startup
da aplicação ou Program
tendo como parametro de entrada a url
do seu provedor de Autenticação e Autorização.
services.AddTokenAuthentication(url);
Caso econtre o erro
System.ArgumentOutOfRangeException: Valid values are between -62135596800 and 253402300799, inclusive. (Parameter 'seconds')
utilize a sobrecarga do serviço definindo o parametroConvertExpirationMillisecondsToSeconds
comotrue
.
Isso ocorre somente em casos muito específicos.
services.AddTokenAuthentication(serverAuthenticatonUrl,
new HttpClientHandlerOptions()
{
ConvertExpirationMillisecondsToSeconds = true
});
Implementação
- Definir o
[Authorize]
para suasControllers
e/ouEndpoints
.
[Authorize]
public class MyController : ControllerBase
{
...
}
- Em seu arquivo
Startup
ouProgram
garantir as configurações básicas de ApplicationBuilder paraapp.Authorization()
eapp.Authentication()
.
...
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints();
...
- E também configurar sua
IServiceCollection
para que as Controllers possuam o filtro de Autorização.
...
services.AddControllers(options =>
{
options.Filters.Add(new AuthorizeFilter());
});
...
- Se utilizar o Swagger em sua aplicação, configure as definições de segurança para a autenticação. Exemplo:
...
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "MyApi", Version = "v1" })
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme()
{
In = ParameterLocation.Header,
Description = "Autenticação com Token",
Name = "Authorization",
Type = SecuritySchemeType.OAuth2
});
});
...
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net5.0
- IdentityModel.AspNetCore.OAuth2Introspection (>= 6.0.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 5.0.15)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Newtonsoft.Json (>= 13.0.1)
-
net6.0
- IdentityModel.AspNetCore.OAuth2Introspection (>= 6.0.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 5.0.15)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.