From 4842d8bea9c178decfd1840590adb490c4c05736 Mon Sep 17 00:00:00 2001
From: Mirko Da Corte <mirko@etherna.io>
Date: Wed, 10 Nov 2021 17:03:21 +0100
Subject: [PATCH 1/8] Updated button text

---
 .../Areas/Identity/Pages/Account/SetVerifiedEmail.cshtml        | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/EthernaSSO/Areas/Identity/Pages/Account/SetVerifiedEmail.cshtml b/src/EthernaSSO/Areas/Identity/Pages/Account/SetVerifiedEmail.cshtml
index 8067cba..d197b20 100644
--- a/src/EthernaSSO/Areas/Identity/Pages/Account/SetVerifiedEmail.cshtml
+++ b/src/EthernaSSO/Areas/Identity/Pages/Account/SetVerifiedEmail.cshtml
@@ -49,7 +49,7 @@ else
             <div class="mb-3">
                 <label asp-for="EmailInput.Email"></label>
                 <input asp-for="EmailInput.Email" class="form-control" />
-                <button type="submit" class="btn btn-secondary mt-2">Send email</button>
+                <button type="submit" class="btn btn-secondary mt-2">Send code</button>
             </div>
         </form>
 

From 5b10a40a8fb7587b108ff027b694f761a6596551 Mon Sep 17 00:00:00 2001
From: Mattia Dalzocchio <mattiadalzocchio@me.com>
Date: Thu, 11 Nov 2021 14:54:05 +0100
Subject: [PATCH 2/8] Add otc autocompletion attribute

---
 src/EthernaSSO/Areas/Identity/Pages/Account/LoginWith2fa.cshtml | 2 +-
 .../Identity/Pages/Account/Manage/EnableAuthenticator.cshtml    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/EthernaSSO/Areas/Identity/Pages/Account/LoginWith2fa.cshtml b/src/EthernaSSO/Areas/Identity/Pages/Account/LoginWith2fa.cshtml
index 617e7b0..9adf94a 100644
--- a/src/EthernaSSO/Areas/Identity/Pages/Account/LoginWith2fa.cshtml
+++ b/src/EthernaSSO/Areas/Identity/Pages/Account/LoginWith2fa.cshtml
@@ -28,7 +28,7 @@
             <div asp-validation-summary="All" class="text-danger"></div>
             <div class="mb-3">
                 <label asp-for="Input.TwoFactorCode"></label>
-                <input asp-for="Input.TwoFactorCode" class="form-control" autocomplete="off" />
+                <input asp-for="Input.TwoFactorCode" class="form-control" autocomplete="one-time-code" />
                 <span asp-validation-for="Input.TwoFactorCode" class="text-danger"></span>
             </div>
             <div class="mb-3">
diff --git a/src/EthernaSSO/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml b/src/EthernaSSO/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml
index e40a1f8..8393266 100644
--- a/src/EthernaSSO/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml
+++ b/src/EthernaSSO/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml
@@ -58,7 +58,7 @@
                     <form id="send-code" method="post">
                         <div class="mb-3">
                             <label asp-for="Input.Code" class="control-label">Verification Code</label>
-                            <input asp-for="Input.Code" class="form-control" autocomplete="off" />
+                            <input asp-for="Input.Code" class="form-control" autocomplete="one-time-code" />
                             <span asp-validation-for="Input.Code" class="text-danger"></span>
                         </div>
                         <button type="submit" class="btn btn-primary">Verify</button>

From b06186019057a8d9cb03e6d6c89b16ac25a3e774 Mon Sep 17 00:00:00 2001
From: Mirko Da Corte <mirko@etherna.io>
Date: Tue, 16 Nov 2021 22:24:30 +0100
Subject: [PATCH 3/8] Updated claims organization

---
 .../EthernaSSO.Domain.csproj                  |  6 ++---
 src/EthernaSSO.Domain/Models/UserBase.cs      | 23 +++++++++++++------
 .../Pages/IdentityServer/UserClaims.cshtml    |  2 +-
 .../Configs/IdentityServer/IdServerConfig.cs  | 10 ++++----
 src/EthernaSSO/EthernaSSO.csproj              | 16 ++++++-------
 5 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/src/EthernaSSO.Domain/EthernaSSO.Domain.csproj b/src/EthernaSSO.Domain/EthernaSSO.Domain.csproj
index ccfc5db..d9271f6 100644
--- a/src/EthernaSSO.Domain/EthernaSSO.Domain.csproj
+++ b/src/EthernaSSO.Domain/EthernaSSO.Domain.csproj
@@ -13,11 +13,11 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="EthernaRCL" Version="0.1.0-alpha.9" />
     <PackageReference Include="Etherna.DomainEvents" Version="1.3.0" />
-    <PackageReference Include="Microsoft.Extensions.Identity.Core" Version="5.0.11" />
+    <PackageReference Include="Microsoft.AspNetCore.Authentication.Etherna" Version="0.3.0-alpha.7" />
+    <PackageReference Include="Microsoft.Extensions.Identity.Core" Version="5.0.12" />
     <PackageReference Include="MongODM.Core" Version="0.23.0-alpha.37" />
-    <PackageReference Include="Nethereum.Accounts" Version="4.1.0" />
+    <PackageReference Include="Nethereum.Accounts" Version="4.1.1" />
   </ItemGroup>
 
 </Project>
diff --git a/src/EthernaSSO.Domain/Models/UserBase.cs b/src/EthernaSSO.Domain/Models/UserBase.cs
index 34b10df..d1cdf58 100644
--- a/src/EthernaSSO.Domain/Models/UserBase.cs
+++ b/src/EthernaSSO.Domain/Models/UserBase.cs
@@ -12,21 +12,30 @@
 //   See the License for the specific language governing permissions and
 //   limitations under the License.
 
+using Etherna.Authentication;
 using Etherna.MongODM.Core.Attributes;
-using Etherna.RCL;
 using Etherna.SSOServer.Domain.Helpers;
 using Etherna.SSOServer.Domain.Models.UserAgg;
 using Microsoft.AspNetCore.Identity;
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Security.Claims;
 using System.Text.Json;
 
 namespace Etherna.SSOServer.Domain.Models
 {
     public abstract class UserBase : EntityModelBase<string>
     {
+        // Consts.
+        public static readonly IEnumerable<string> DomainManagedClaimNames = new[]
+        {
+            ClaimTypes.EtherAddress,
+            ClaimTypes.EtherPreviousAddresses,
+            ClaimTypes.IsWeb3Account,
+            ClaimTypes.Role,
+            ClaimTypes.Username
+        };
+
         // Fields.
         private readonly List<UserClaim> _customClaims = new();
         private List<string> _etherPreviousAddresses = new();
@@ -58,10 +67,10 @@ public virtual IEnumerable<UserClaim> DefaultClaims
             {
                 var claims = new List<UserClaim>
                 {
-                    new UserClaim(UserClaimTypes.EtherAddress, EtherAddress),
-                    new UserClaim(UserClaimTypes.EtherPreviousAddresses, JsonSerializer.Serialize(_etherPreviousAddresses)),
-                    new UserClaim(UserClaimTypes.IsWeb3Account, (this is UserWeb3).ToString()),
-                    new UserClaim(UserClaimTypes.Username, Username)
+                    new UserClaim(ClaimTypes.EtherAddress, EtherAddress),
+                    new UserClaim(ClaimTypes.EtherPreviousAddresses, JsonSerializer.Serialize(_etherPreviousAddresses)),
+                    new UserClaim(ClaimTypes.IsWeb3Account, (this is UserWeb3).ToString()),
+                    new UserClaim(ClaimTypes.Username, Username)
                 };
 
                 foreach (var role in _roles)
@@ -110,7 +119,7 @@ public virtual bool AddClaim(UserClaim claim)
                 throw new ArgumentNullException(nameof(claim));
 
             //keep default claims managed by model
-            if (UserClaimTypes.Names.Contains(claim.Type))
+            if (DomainManagedClaimNames.Contains(claim.Type))
                 return false;
 
             //don't add duplicate claims
diff --git a/src/EthernaSSO/Areas/Admin/Pages/IdentityServer/UserClaims.cshtml b/src/EthernaSSO/Areas/Admin/Pages/IdentityServer/UserClaims.cshtml
index 45d6510..cc0a60a 100644
--- a/src/EthernaSSO/Areas/Admin/Pages/IdentityServer/UserClaims.cshtml
+++ b/src/EthernaSSO/Areas/Admin/Pages/IdentityServer/UserClaims.cshtml
@@ -100,7 +100,7 @@
                                     <td>@claim.Type</td>
                                     <td>@claim.Value</td>
                                     <td>
-                                        @if (!UserClaimTypes.Names.Contains(claim.Type))
+                                        @if (!UserBase.DomainManagedClaimNames.Contains(claim.Type))
                                         {
                                             <a asp-page="UserClaimsDelete"
                                                asp-route-claimType="@claim.Type"
diff --git a/src/EthernaSSO/Configs/IdentityServer/IdServerConfig.cs b/src/EthernaSSO/Configs/IdentityServer/IdServerConfig.cs
index 4e4ae3a..70b0941 100644
--- a/src/EthernaSSO/Configs/IdentityServer/IdServerConfig.cs
+++ b/src/EthernaSSO/Configs/IdentityServer/IdServerConfig.cs
@@ -12,7 +12,7 @@
 //   See the License for the specific language governing permissions and
 //   limitations under the License.
 
-using Etherna.RCL;
+using Etherna.Authentication;
 using Etherna.RCL.Exceptions;
 using IdentityServer4;
 using IdentityServer4.Models;
@@ -229,9 +229,9 @@ public IdServerConfig(IConfiguration configuration)
                 Name = "ether_accounts",
                 UserClaims = new List<string>()
                 {
-                    UserClaimTypes.EtherAddress,
-                    UserClaimTypes.EtherPreviousAddresses,
-                    UserClaimTypes.IsWeb3Account
+                    ClaimTypes.EtherAddress,
+                    ClaimTypes.EtherPreviousAddresses,
+                    ClaimTypes.IsWeb3Account
                 }
             },
             new IdentityResource()
@@ -240,7 +240,7 @@ public IdServerConfig(IConfiguration configuration)
                 Name = "role",
                 UserClaims = new List<string>()
                 {
-                    UserClaimTypes.Role
+                    ClaimTypes.Role
                 }
             }
         };
diff --git a/src/EthernaSSO/EthernaSSO.csproj b/src/EthernaSSO/EthernaSSO.csproj
index cbd46e7..8fc7ece 100644
--- a/src/EthernaSSO/EthernaSSO.csproj
+++ b/src/EthernaSSO/EthernaSSO.csproj
@@ -20,27 +20,27 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="GitVersion.MsBuild" Version="5.7.0">
+    <PackageReference Include="EthernaRCL" Version="0.1.0-alpha.12" />
+    <PackageReference Include="GitVersion.MsBuild" Version="5.8.1">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="5.0.11" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="5.0.11" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.11" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.Twitter" Version="5.0.11" />
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.11" />
+    <PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="5.0.12" />
+    <PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="5.0.12" />
+    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.12" />
+    <PackageReference Include="Microsoft.AspNetCore.Authentication.Twitter" Version="5.0.12" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.12" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer" Version="5.0.0" />
     <PackageReference Include="Microsoft.TypeScript.MSBuild" Version="4.4.4"> <!--Installed only for hide warning-->
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.11.1" />
     <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.2" />
     <PackageReference Include="MongODM" Version="0.23.0-alpha.37" />
     <PackageReference Include="MongODM.AspNetCore.UI" Version="0.23.0-alpha.37" />
     <PackageReference Include="Serilog.AspNetCore" Version="4.1.0" />
     <PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" />
-    <PackageReference Include="Serilog.Exceptions" Version="7.1.0" />
+    <PackageReference Include="Serilog.Exceptions" Version="8.0.0" />
     <PackageReference Include="Serilog.Sinks.Elasticsearch" Version="8.4.1" />
     <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
   </ItemGroup>

From d1a472ed6e7885df806ecc567e8e5ad6251a89e9 Mon Sep 17 00:00:00 2001
From: Mirko Da Corte <mirko@etherna.io>
Date: Fri, 19 Nov 2021 19:08:06 +0100
Subject: [PATCH 4/8] Updated api version

---
 src/EthernaSSO/Areas/Api/Controllers/IdentityController.cs      | 2 +-
 .../Areas/Api/Controllers/ServiceInteractController.cs          | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/EthernaSSO/Areas/Api/Controllers/IdentityController.cs b/src/EthernaSSO/Areas/Api/Controllers/IdentityController.cs
index d233eda..f0af50f 100644
--- a/src/EthernaSSO/Areas/Api/Controllers/IdentityController.cs
+++ b/src/EthernaSSO/Areas/Api/Controllers/IdentityController.cs
@@ -23,7 +23,7 @@
 namespace Etherna.SSOServer.Areas.Api.Controllers
 {
     [ApiController]
-    [ApiVersion("0.2")]
+    [ApiVersion("0.3")]
     [Route("api/v{api-version:apiVersion}/[controller]")]
     public class IdentityController : Controller
     {
diff --git a/src/EthernaSSO/Areas/Api/Controllers/ServiceInteractController.cs b/src/EthernaSSO/Areas/Api/Controllers/ServiceInteractController.cs
index e12ebff..ae5ead3 100644
--- a/src/EthernaSSO/Areas/Api/Controllers/ServiceInteractController.cs
+++ b/src/EthernaSSO/Areas/Api/Controllers/ServiceInteractController.cs
@@ -24,7 +24,7 @@
 namespace Etherna.SSOServer.Areas.Api.Controllers
 {
     [ApiController]
-    [ApiVersion("0.2")]
+    [ApiVersion("0.3")]
     [Route("api/v{api-version:apiVersion}/[controller]")]
     [Authorize(CommonConsts.ServiceInteractApiScopePolicy)]
     public class ServiceInteractController : ControllerBase

From 6beae058d511c85e48ead8d639a2234da6446852 Mon Sep 17 00:00:00 2001
From: Mirko Da Corte <mirko@etherna.io>
Date: Fri, 19 Nov 2021 19:14:09 +0100
Subject: [PATCH 5/8] Added index

---
 src/EthernaSSO.Persistence/SsoDbContext.cs | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/EthernaSSO.Persistence/SsoDbContext.cs b/src/EthernaSSO.Persistence/SsoDbContext.cs
index df8262e..8f78f4d 100644
--- a/src/EthernaSSO.Persistence/SsoDbContext.cs
+++ b/src/EthernaSSO.Persistence/SsoDbContext.cs
@@ -82,6 +82,9 @@ public SsoDbContext(
                     (Builders<UserBase>.IndexKeys.Ascending(u => u.EtherAddress),
                      new CreateIndexOptions<UserBase> { Unique = true }),
 
+                    (Builders<UserBase>.IndexKeys.Ascending(u => u.EtherPreviousAddresses),
+                     new CreateIndexOptions<UserBase> { Unique = true }),
+
                     (Builders<UserBase>.IndexKeys.Descending(u => u.LastLoginDateTime),
                      new CreateIndexOptions<UserBase> { Sparse = true }),
 

From bfa07a6ed886f57d24308e2757b2d826d97ad6a9 Mon Sep 17 00:00:00 2001
From: Mirko Da Corte <mirko@etherna.io>
Date: Fri, 19 Nov 2021 20:09:07 +0100
Subject: [PATCH 6/8] Fixed issue with password login for Web3 users

---
 src/EthernaSSO/Areas/Identity/Pages/Account/Login.cshtml.cs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/EthernaSSO/Areas/Identity/Pages/Account/Login.cshtml.cs b/src/EthernaSSO/Areas/Identity/Pages/Account/Login.cshtml.cs
index 6c79389..34b9e1b 100644
--- a/src/EthernaSSO/Areas/Identity/Pages/Account/Login.cshtml.cs
+++ b/src/EthernaSSO/Areas/Identity/Pages/Account/Login.cshtml.cs
@@ -114,7 +114,9 @@ await userManager.FindByEmailAsync(Input.UsernameOrEmail) :
             }
 
             //validate login
-            var result = await signInManager.PasswordSignInAsync(user, Input.Password, true, lockoutOnFailure: true);
+            var result = user is UserWeb2 ? //if user is not UserWeb2, fail password login
+                await signInManager.PasswordSignInAsync(user, Input.Password, true, lockoutOnFailure: true) :
+                Microsoft.AspNetCore.Identity.SignInResult.Failed;
 
             if (result.Succeeded)
             {

From 6dbdba118a6e1143a50a4fac553dc329bbaaed84 Mon Sep 17 00:00:00 2001
From: Mirko Da Corte <mirko@etherna.io>
Date: Fri, 19 Nov 2021 21:12:57 +0100
Subject: [PATCH 7/8] Added symbol image in layout

---
 src/EthernaSSO/Pages/Shared/_Layout.cshtml       |   4 +++-
 .../images/etherna-header-symbol-colors.png      | Bin 0 -> 1319 bytes
 2 files changed, 3 insertions(+), 1 deletion(-)
 create mode 100644 src/EthernaSSO/wwwroot/images/etherna-header-symbol-colors.png

diff --git a/src/EthernaSSO/Pages/Shared/_Layout.cshtml b/src/EthernaSSO/Pages/Shared/_Layout.cshtml
index 7c4be8c..aac4186 100644
--- a/src/EthernaSSO/Pages/Shared/_Layout.cshtml
+++ b/src/EthernaSSO/Pages/Shared/_Layout.cshtml
@@ -39,7 +39,9 @@
     <header>
         <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
             <div class="container">
-                <a class="navbar-brand" asp-area="" asp-page="/Index">Etherna SSO Server</a>
+                <a class="navbar-brand" asp-area="" asp-page="/Index">
+                    <img src="/images/etherna-header-symbol-colors.png" style="padding-right:4px" /> Etherna SSO Server
+                </a>
                 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-menu"
                     aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                     <span class="navbar-toggler-icon"></span>
diff --git a/src/EthernaSSO/wwwroot/images/etherna-header-symbol-colors.png b/src/EthernaSSO/wwwroot/images/etherna-header-symbol-colors.png
new file mode 100644
index 0000000000000000000000000000000000000000..0989b91f311b3639335f4d2fd1efaaf6b6582041
GIT binary patch
literal 1319
zcmeAS@N?(olHy`uVBq!ia0vp^dO$46!3-oTCEf@yFfgtS@Ck7Ra;4(@%?>U$KeALN
zIRwZZR6wCDnSqfJtCK8_uP{5jgprvEQx@nK^P@}64lZI~LeUEnhe#b-jMZ3#MjVy`
z?E<QS+X%L0F(WH0Tm;TAKe|kRc@Gj7=$^&Q+?-5oP{km<hZZxjvjNor%>*)_A{=by
z$Cm@W#>~l~Ik|=jW;jsIyTpZGfvS5;g8YKPCNt(ej1|vuN@PlS{Wwr??rz_^NpGIa
z+VB18ZGgbv13n)=?EC6JbEU<jxP1PGA2Uwsv&6mnT)@K7=%*8$7+=^l{gi>--Gs!L
zqULF~UtY&2wf>Bp^2hMwtGMLoVph(!FTYQJN`LYFWnAjZUAz)!eqGaCnr8GdKQk?2
z(x-wnzR#&oi&6~JQrQyCSwo9=10BSeU*s3Ucz#j&ECvRqeoq(25DP)pgPqQkSsB<b
zOn)sLa;IIxh<`%mB3{9bX6+#>4s(^r20dbQYP*%Yye#AU-`n@^R5NI7`}UQY;l{Sw
z;|Kg07&KO;vXwJ3w3WS=yk`we#sMMOp5NXwF*yG&e(>PM4G%`J$fSeL3=;R_&p%Xl
zH#Q4kU~t_!O~$%TNpcQ@LEWZ#bE+0jyt0awL1c2OQB~EeGbNX1F!an{t8V-}u4d)T
zDOZ^oCZ}Gqx^GsUXeBv^`EmN|lV^55kE?rnH7aPfKEoID$=8mWrRn>s_gebIu2Y}O
z8oh4Mw_nm*m(0;;=svq->lL=m;mao<+pseG>yph5OMgF$&fg#GeabUo<IFA7ZZ+I|
zecJQ>?)P^+th85@<bTV%yU%#ql)oEp`9x)xGp@<kQGb8m+b*Kft9<kI-KD?JMO=!}
zy;DD-XWdrD4f{SCcv@*MxODf;*DCqCFNHH}isF?|E}zfXa9&>ZXA;AT67%Z4aqmyB
z-{*Jf!`bF1FQTLwUQ6>&Uh-KNEOqa(`u(XVn}4q{n|$q7EKusS=j*sn8LV1&&&Iv~
zIQf0HXYtkpNyeGFTNz(ppFVk?eBGXjC1C+C@4d0D{T8gN`MdFG+NG$h=9{ZednVsF
zfBltbdZX9(>C4a8tyO)h;!tm#8Jm;*?Gi9N4_|p&bt!Vg(^L8T{|Bl)tzk^q<P-J$
zcACBqFw_j{cFsF9r~2Rd{r~hP->PABFpN}NynOjNpd9CcA2+Lvir>wzKfPp)7$`1J
zZhWjh=^!V=WA)c3SN@msTpPu}aI{9()2M<2BxYIjB;yzx7em9MDDO@A;tUeE<}<Uq
zA9n+mbX{39fytm@;oa)C?|mY`q>}SCnuTFQ?(e?FxeR~!%XjR(n<*c-3zTs@UHx3v
IIVCg!0QmRTwg3PC

literal 0
HcmV?d00001


From 4e29c4bc9ea6bf6b3ef8755920e74cebc7f281a4 Mon Sep 17 00:00:00 2001
From: Mirko Da Corte <mirko@etherna.io>
Date: Fri, 19 Nov 2021 21:31:13 +0100
Subject: [PATCH 8/8] Added license headers

---
 .../Settings/DbSeedSettings.cs                   | 16 +++++++++++++++-
 src/EthernaSSO/Extensions/LoggerExtensions.cs    | 16 +++++++++++++++-
 2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/EthernaSSO.Persistence/Settings/DbSeedSettings.cs b/src/EthernaSSO.Persistence/Settings/DbSeedSettings.cs
index 350ca51..05b979d 100644
--- a/src/EthernaSSO.Persistence/Settings/DbSeedSettings.cs
+++ b/src/EthernaSSO.Persistence/Settings/DbSeedSettings.cs
@@ -1,4 +1,18 @@
-namespace Etherna.SSOServer.Persistence.Settings
+//   Copyright 2021-present Etherna Sagl
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+namespace Etherna.SSOServer.Persistence.Settings
 {
     public class DbSeedSettings
     {
diff --git a/src/EthernaSSO/Extensions/LoggerExtensions.cs b/src/EthernaSSO/Extensions/LoggerExtensions.cs
index 4732d88..4b620d1 100644
--- a/src/EthernaSSO/Extensions/LoggerExtensions.cs
+++ b/src/EthernaSSO/Extensions/LoggerExtensions.cs
@@ -1,4 +1,18 @@
-using Microsoft.Extensions.Logging;
+//   Copyright 2021-present Etherna Sagl
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+using Microsoft.Extensions.Logging;
 using System;
 using System.Collections.Generic;