Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 4.53 KB

README.md

File metadata and controls

62 lines (45 loc) · 4.53 KB

Skateboard Never Die!

Projeto focado no estudo de SSO e uso de HATEOAS para construção de retorno de APIs mais semânticas.

📖 Resumo sobre SSO e HATEOAS

Single Sign-On (SSO) centraliza o processo de autenticação das aplicações e traz mais segurança ao processo de login e acesso de recursos de APIs.

Hypermedia as the Engine of Application State (HATEOAS) o uso do retorno de de recursos da API neste padrão facilita o uso sem a necessidade de um prévio conhecimento da API. Basicamente a ideia é retornar o recurso listando links de ações que podem ser executadas para o mesmo.

🏗️ Estrutura do Projeto

O Projeto foi estruturado seguindo as boas praticas de clean architecture e se encontra dividido em 15 projetos, como pode ser visto no print abaixo.

Imagem com a estrutura do projeto

Para implementação do SSO foi utilizado a biblioteca OpenIddict e na estruturação do retorno em HATEOAS a Simple.Hateoas que foi desenvolvida por mim.

🔑 Contas Para Acesso

Senha de todas as contas @Skateb0ard

🔗 Links de Acesso

🖼️ Imagens

Sistema Prints
API Imagem da página de autorização do swagger configurada para client_credentials e authorization_code  Imagem da página do swagger listando os endpoints da API
SSO Imagem da página de login do SSO
Mobile Imagem da página de dashboard do app  Imagem da página de detalhes do skatista utilizando login de administrador  Imagem da página de detalhes do skatista sem logar no app  Imagem da página de detalhes da manobra utilizando login de administrador  Imagem da página de detalhes da manobra sem logar no app

📚 Bibliotecas de Terceiros

Nome Utilizada Em Link
OpenIddict.Abstractions API, MOBILE https://www.nuget.org/packages/OpenIddict.Abstractions
OpenIddict.AspNetCore API, SSO https://www.nuget.org/packages/OpenIddict.AspNetCore
OpenIddict.EntityFrameworkCore SSO https://www.nuget.org/packages/OpenIddict.EntityFrameworkCore
OpenIddict.Validation.AspNetCore API https://www.nuget.org/packages/OpenIddict.Validation.AspNetCore
OpenIddict.Validation.SystemNetHttp API https://www.nuget.org/packages/OpenIddict.Validation.SystemNetHttp
Simple.Hateoas API https://www.nuget.org/packages/Simple.Hateoas
Hellang.Middleware.ProblemDetails API https://www.nuget.org/packages/Hellang.Middleware.ProblemDetails
Scrutor API https://www.nuget.org/packages/Scrutor
FluentValidation API https://www.nuget.org/packages/FluentValidation
Swashbuckle.AspNetCore API https://www.nuget.org/packages/Swashbuckle.AspNetCore
Swashbuckle.AspNetCore.Newtonsoft API https://www.nuget.org/packages/Swashbuckle.AspNetCore.Newtonsoft
Swashbuckle.AspNetCore.Swagger API https://www.nuget.org/packages/Swashbuckle.AspNetCore.Swagger
IdentityModel.OidcClient MOBILE https://www.nuget.org/packages/IdentityModel.OidcClient
Microcharts.Forms MOBILE https://www.nuget.org/packages/Microcharts.Forms
Refit MOBILE https://www.nuget.org/packages/Refit