Skip to content

Commit 5fa08d0

Browse files
Refresh Token Logic added
Also supports both out account controller contract and MS one around Expiry time.
1 parent e50eedc commit 5fa08d0

File tree

13 files changed

+428
-57
lines changed

13 files changed

+428
-57
lines changed

Modules/Intent.Modules.Blazor.Authentication/Intent.Blazor.Authentication.imodspec

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<package>
33
<id>Intent.Blazor.Authentication</id>
4-
<version>1.0.5-pre.1</version>
4+
<version>1.0.6-pre.0</version>
55
<supportedClientVersions>[4.5.0-a,5.0.0)</supportedClientVersions>
66
<summary>Automates Authentication components for a Blazor application</summary>
77
<description>Automates Authentication components for a Blazor application</description>
@@ -10,6 +10,14 @@
1010
<projectUrl>https://docs.intentarchitect.com/articles/modules-dotnet/intent-blazor-authentication/intent-blazor-authentication.html</projectUrl>
1111
<tags>blazor authentication ui</tags>
1212
<templates>
13+
<template id="Intent.Blazor.Authentication.Templates.Client.AccessTokenResponseTemplate" externalReference="6943f8f0-6821-46cd-8cb0-528d986cd04a">
14+
<config>
15+
<add key="ClassName" description="Class name formula override (e.g. '${Model.Name}')" />
16+
<add key="Namespace" description="Class namespace formula override (e.g. '${Project.Name}'" />
17+
</config>
18+
<role>Blazor.Client</role>
19+
<location>Components/Account</location>
20+
</template>
1321
<template id="Intent.Blazor.Authentication.Templates.Client.PersistentAuthenticationStateProviderTemplate" externalReference="9bef92a3-6542-4902-b83d-a79109013108">
1422
<config>
1523
<add key="ClassName" description="Class name formula override (e.g. '${Model.Name}')" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<class id="6943f8f0-6821-46cd-8cb0-528d986cd04a" type="C# Template" typeId="f6456232-0f1b-4235-b5f8-b4cce548ca59">
3+
<name>AccessTokenResponseTemplate</name>
4+
<display>AccessTokenResponseTemplate: Single File</display>
5+
<isAbstract>false</isAbstract>
6+
<genericTypes />
7+
<typeReference id="5907307f-dd03-4fe7-9533-b41541d44fbd">
8+
<typeId>f65d2904-88c9-4501-873a-a4eec8303b1d</typeId>
9+
<isNavigable>true</isNavigable>
10+
<isNullable>false</isNullable>
11+
<isCollection>false</isCollection>
12+
<isRequired>true</isRequired>
13+
<typePackageName>Intent.ModuleBuilder</typePackageName>
14+
<typePackageId>9972b2a9-b749-4bba-b5c8-824bf694c6ef</typePackageId>
15+
<stereotypes />
16+
<genericTypeParameters />
17+
</typeReference>
18+
<isMapped>false</isMapped>
19+
<parentFolderId>729632e9-98b5-41f7-9f8f-27ff390d3b1f</parentFolderId>
20+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
21+
<packageName>Intent.Blazor.Authentication</packageName>
22+
<stereotypes>
23+
<stereotype stereotypeDefinitionId="78be0482-1cd7-4b9f-b457-5ebe1536786e" name="C# Template Settings">
24+
<addedByDefault>true</addedByDefault>
25+
<definitionPackageName>Intent.ModuleBuilder.CSharp</definitionPackageName>
26+
<definitionPackageId>f2bfb0f7-d304-466f-b923-021d4016b48d</definitionPackageId>
27+
<properties>
28+
<property name="3b9e1f1b-e253-4c04-89aa-30fef0a9bfa8" display="Templating Method" value="C# File Builder" isActive="true" />
29+
</properties>
30+
</stereotype>
31+
<stereotype stereotypeDefinitionId="b1f08a30-9aae-4702-bfc8-e285e6b43a61" name="Template Settings">
32+
<addedByDefault>true</addedByDefault>
33+
<definitionPackageName>Intent.ModuleBuilder</definitionPackageName>
34+
<definitionPackageId>9972b2a9-b749-4bba-b5c8-824bf694c6ef</definitionPackageId>
35+
<properties>
36+
<property name="a9de6cf5-6d4f-4ae1-aa60-5ca85e458709" display="Source" value="Lookup Type" isActive="true" />
37+
<property name="00d3537c-f71f-4450-8cc8-d9e87c12baee" display="Designer" isActive="true" />
38+
<property name="75b89367-1808-43f8-9f18-785915ec1630" display="Model Type" isActive="true" />
39+
<property name="d1e89313-0647-48bd-81da-b04b644db475" display="Model Name" value="object" isActive="false" />
40+
<property name="f1d88e59-1ca6-426e-b52d-42f3467e6bd5" display="Role" value="Blazor.Client" isActive="true" />
41+
<property name="1ac0fa39-ecea-48f8-92e4-41616a639586" display="Default Location" value="Components/Account" isActive="true" />
42+
</properties>
43+
</stereotype>
44+
</stereotypes>
45+
<metadata />
46+
<childElements />
47+
</class>

Modules/Intent.Modules.Blazor.Authentication/Intent.Metadata/Module Builder/Intent.Blazor.Authentication/Elements/NuGet Package/Microsoft.AspNetCore.Identity.EntityFrameworkCore__bmvmtxxt.xml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@
252252
</childElement>
253253
<childElement id="730d731a-e0b6-4277-9212-4a33a88e0cc3" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
254254
<name>8.0.21</name>
255-
<display>8.0.20 ( &gt;= .NETCoreApp,Version=v8.0 )</display>
255+
<display>8.0.21 ( &gt;= .NETCoreApp,Version=v8.0 )</display>
256256
<isAbstract>false</isAbstract>
257257
<sort-children>by-type-then-by-name</sort-children>
258258
<genericTypes />
@@ -273,24 +273,30 @@
273273
</stereotypes>
274274
<metadata />
275275
<childElements>
276-
<childElement id="5280d07e-d4cc-42a2-85d6-148cb6c7d947" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
277-
<name>Microsoft.Extensions.Identity.Stores</name>
276+
<childElement id="c675ca0a-0bdb-4404-9aaf-5be0e6bcc764" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
277+
<name>Microsoft.EntityFrameworkCore.Relational</name>
278+
<display>Microsoft.EntityFrameworkCore.Relational (8.0.21)</display>
278279
<isAbstract>false</isAbstract>
279280
<value>8.0.21</value>
280281
<genericTypes />
281282
<isMapped>false</isMapped>
282283
<parentFolderId>730d731a-e0b6-4277-9212-4a33a88e0cc3</parentFolderId>
284+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
285+
<packageName>Intent.Blazor.Authentication</packageName>
283286
<stereotypes />
284287
<metadata />
285288
<childElements />
286289
</childElement>
287-
<childElement id="c675ca0a-0bdb-4404-9aaf-5be0e6bcc764" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
288-
<name>Microsoft.EntityFrameworkCore.Relational</name>
290+
<childElement id="5280d07e-d4cc-42a2-85d6-148cb6c7d947" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
291+
<name>Microsoft.Extensions.Identity.Stores</name>
292+
<display>Microsoft.Extensions.Identity.Stores (8.0.21)</display>
289293
<isAbstract>false</isAbstract>
290294
<value>8.0.21</value>
291295
<genericTypes />
292296
<isMapped>false</isMapped>
293297
<parentFolderId>730d731a-e0b6-4277-9212-4a33a88e0cc3</parentFolderId>
298+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
299+
<packageName>Intent.Blazor.Authentication</packageName>
294300
<stereotypes />
295301
<metadata />
296302
<childElements />
@@ -299,7 +305,7 @@
299305
</childElement>
300306
<childElement id="ceb0da62-abd2-499d-b2d0-9cfce56b92c3" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
301307
<name>9.0.10</name>
302-
<display>9.0.9 ( &gt;= .NETCoreApp,Version=v9.0 )</display>
308+
<display>9.0.10 ( &gt;= .NETCoreApp,Version=v9.0 )</display>
303309
<isAbstract>false</isAbstract>
304310
<sort-children>by-type-then-by-name</sort-children>
305311
<genericTypes />
@@ -320,24 +326,30 @@
320326
</stereotypes>
321327
<metadata />
322328
<childElements>
323-
<childElement id="73cea243-4f2d-46c3-95ca-e19f80203d6f" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
324-
<name>Microsoft.Extensions.Identity.Stores</name>
329+
<childElement id="9eedd1f1-ba09-48c8-b497-98ead2df7f5b" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
330+
<name>Microsoft.EntityFrameworkCore.Relational</name>
331+
<display>Microsoft.EntityFrameworkCore.Relational (9.0.10)</display>
325332
<isAbstract>false</isAbstract>
326333
<value>9.0.10</value>
327334
<genericTypes />
328335
<isMapped>false</isMapped>
329336
<parentFolderId>ceb0da62-abd2-499d-b2d0-9cfce56b92c3</parentFolderId>
337+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
338+
<packageName>Intent.Blazor.Authentication</packageName>
330339
<stereotypes />
331340
<metadata />
332341
<childElements />
333342
</childElement>
334-
<childElement id="9eedd1f1-ba09-48c8-b497-98ead2df7f5b" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
335-
<name>Microsoft.EntityFrameworkCore.Relational</name>
343+
<childElement id="73cea243-4f2d-46c3-95ca-e19f80203d6f" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
344+
<name>Microsoft.Extensions.Identity.Stores</name>
345+
<display>Microsoft.Extensions.Identity.Stores (9.0.10)</display>
336346
<isAbstract>false</isAbstract>
337347
<value>9.0.10</value>
338348
<genericTypes />
339349
<isMapped>false</isMapped>
340350
<parentFolderId>ceb0da62-abd2-499d-b2d0-9cfce56b92c3</parentFolderId>
351+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
352+
<packageName>Intent.Blazor.Authentication</packageName>
341353
<stereotypes />
342354
<metadata />
343355
<childElements />

Modules/Intent.Modules.Blazor.Authentication/Intent.Metadata/Module Builder/Intent.Blazor.Authentication/Elements/NuGet Package/Microsoft.EntityFrameworkCore.SqlServer__dhb5gh8v.xml

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@
185185
</childElement>
186186
<childElement id="9e3956de-05a4-4cc6-a52e-43af8b4e39e6" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
187187
<name>9.0.10</name>
188-
<display>9.0.9 ( &gt;= .NETCoreApp,Version=v8.0 )</display>
188+
<display>9.0.10 ( &gt;= .NETCoreApp,Version=v8.0 )</display>
189189
<isAbstract>false</isAbstract>
190190
<sort-children>by-type-then-by-name</sort-children>
191191
<genericTypes />
@@ -206,79 +206,100 @@
206206
</stereotypes>
207207
<metadata />
208208
<childElements>
209-
<childElement id="0f92729e-ff0c-4d64-a0bc-562d7d09e968" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
210-
<name>Microsoft.EntityFrameworkCore.Relational</name>
209+
<childElement id="a83340b3-f605-4699-9ceb-deb0400aa031" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
210+
<name>Microsoft.Data.SqlClient</name>
211+
<display>Microsoft.Data.SqlClient (5.1.6)</display>
211212
<isAbstract>false</isAbstract>
212-
<value>9.0.10</value>
213+
<value>5.1.6</value>
213214
<genericTypes />
214215
<isMapped>false</isMapped>
215216
<parentFolderId>9e3956de-05a4-4cc6-a52e-43af8b4e39e6</parentFolderId>
217+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
218+
<packageName>Intent.Blazor.Authentication</packageName>
216219
<stereotypes />
217220
<metadata />
218221
<childElements />
219222
</childElement>
220-
<childElement id="a83340b3-f605-4699-9ceb-deb0400aa031" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
221-
<name>Microsoft.Data.SqlClient</name>
223+
<childElement id="0f92729e-ff0c-4d64-a0bc-562d7d09e968" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
224+
<name>Microsoft.EntityFrameworkCore.Relational</name>
225+
<display>Microsoft.EntityFrameworkCore.Relational (9.0.10)</display>
222226
<isAbstract>false</isAbstract>
223-
<value>5.1.6</value>
227+
<value>9.0.10</value>
224228
<genericTypes />
225229
<isMapped>false</isMapped>
226230
<parentFolderId>9e3956de-05a4-4cc6-a52e-43af8b4e39e6</parentFolderId>
231+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
232+
<packageName>Intent.Blazor.Authentication</packageName>
227233
<stereotypes />
228234
<metadata />
229235
<childElements />
230236
</childElement>
231237
<childElement id="dca719d4-d624-40c0-9d67-ee834895903f" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
232238
<name>Microsoft.Extensions.Caching.Memory</name>
239+
<display>Microsoft.Extensions.Caching.Memory (9.0.10)</display>
233240
<isAbstract>false</isAbstract>
234241
<value>9.0.10</value>
235242
<genericTypes />
236243
<isMapped>false</isMapped>
237244
<parentFolderId>9e3956de-05a4-4cc6-a52e-43af8b4e39e6</parentFolderId>
245+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
246+
<packageName>Intent.Blazor.Authentication</packageName>
238247
<stereotypes />
239248
<metadata />
240249
<childElements />
241250
</childElement>
242251
<childElement id="1c821927-8c2b-4a73-baa5-d1e0b323d330" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
243252
<name>Microsoft.Extensions.Configuration.Abstractions</name>
253+
<display>Microsoft.Extensions.Configuration.Abstractions (9.0.10)</display>
244254
<isAbstract>false</isAbstract>
245255
<value>9.0.10</value>
246256
<genericTypes />
247257
<isMapped>false</isMapped>
248258
<parentFolderId>9e3956de-05a4-4cc6-a52e-43af8b4e39e6</parentFolderId>
259+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
260+
<packageName>Intent.Blazor.Authentication</packageName>
249261
<stereotypes />
250262
<metadata />
251263
<childElements />
252264
</childElement>
253265
<childElement id="285d6bf6-190c-4e0a-8c56-f971225f5616" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
254266
<name>Microsoft.Extensions.Logging</name>
267+
<display>Microsoft.Extensions.Logging (9.0.10)</display>
255268
<isAbstract>false</isAbstract>
256269
<value>9.0.10</value>
257270
<genericTypes />
258271
<isMapped>false</isMapped>
259272
<parentFolderId>9e3956de-05a4-4cc6-a52e-43af8b4e39e6</parentFolderId>
273+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
274+
<packageName>Intent.Blazor.Authentication</packageName>
260275
<stereotypes />
261276
<metadata />
262277
<childElements />
263278
</childElement>
264279
<childElement id="8c2056bd-b348-4038-bc58-1f2ec8bdd4fd" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
265280
<name>System.Formats.Asn1</name>
281+
<display>System.Formats.Asn1 (9.0.10)</display>
266282
<isAbstract>false</isAbstract>
267283
<value>9.0.10</value>
268284
<genericTypes />
269285
<isMapped>false</isMapped>
270286
<parentFolderId>9e3956de-05a4-4cc6-a52e-43af8b4e39e6</parentFolderId>
287+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
288+
<packageName>Intent.Blazor.Authentication</packageName>
271289
<stereotypes />
272290
<metadata />
273291
<childElements />
274292
</childElement>
275293
<childElement id="6aae422b-3aea-48cd-adff-129bc2c1b3ab" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
276294
<name>System.Text.Json</name>
295+
<display>System.Text.Json (9.0.10)</display>
277296
<isAbstract>false</isAbstract>
278297
<value>9.0.10</value>
279298
<genericTypes />
280299
<isMapped>false</isMapped>
281300
<parentFolderId>9e3956de-05a4-4cc6-a52e-43af8b4e39e6</parentFolderId>
301+
<packageId>b9d38f7c-7a8d-4007-b33d-7f386ccf119a</packageId>
302+
<packageName>Intent.Blazor.Authentication</packageName>
282303
<stereotypes />
283304
<metadata />
284305
<childElements />

Modules/Intent.Modules.Blazor.Authentication/Intent.Modules.Blazor.Authentication.application.output.config.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
<file relativePath="Intent.Modules.Blazor.Authentication/content/Components/Account/Pages/readme.txt" state="ignored;once-off-generated" />
55
<file relativePath="Intent.Modules.Blazor.Authentication/content/Components/Account/Shared/readme.txt" state="ignored;once-off-generated" />
66
<file relativePath="Intent.Modules.Blazor.Authentication/content/wwwroot/readme.txt" state="ignored;once-off-generated" />
7-
<file relativePath="Intent.Modules.Blazor.Authentication/release-notes.md" state="once-off-generated" />
7+
<file relativePath="Intent.Modules.Blazor.Authentication/release-notes.md" state="ignored;once-off-generated" />
88
</files>
99
</outputFiles>

Modules/Intent.Modules.Blazor.Authentication/Intent.Modules.Blazor.Authentication.application.output.log

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
<OverwriteBehaviour>once-off</OverwriteBehaviour>
9595
<ApplicationRelativeFilePath>release-notes.md</ApplicationRelativeFilePath>
9696
<ProjectRelativeFilePath>release-notes.md</ProjectRelativeFilePath>
97-
<IsIgnored>false</IsIgnored>
97+
<IsIgnored>true</IsIgnored>
9898
</FileLog>
9999
<FileLog>
100100
<ProjectId>5b51fe2f-4fa3-47a7-8bb2-634ad7b119e5</ProjectId>
@@ -120,6 +120,22 @@
120120
<ProjectRelativeFilePath>TemplateExtensions.cs</ProjectRelativeFilePath>
121121
<IsIgnored>false</IsIgnored>
122122
</FileLog>
123+
<FileLog>
124+
<ProjectId>90f36029-b4b8-4117-bacd-1c4851022c9f</ProjectId>
125+
<CorrelationId>Intent.ModuleBuilder.CSharp.Templates.CSharpTemplatePartial#6943f8f0-6821-46cd-8cb0-528d986cd04a</CorrelationId>
126+
<OverwriteBehaviour>always</OverwriteBehaviour>
127+
<ApplicationRelativeFilePath>Templates/Templates/Client/AccessTokenResponse/AccessTokenResponseTemplatePartial.cs</ApplicationRelativeFilePath>
128+
<ProjectRelativeFilePath>Templates/Client/AccessTokenResponse/AccessTokenResponseTemplatePartial.cs</ProjectRelativeFilePath>
129+
<IsIgnored>false</IsIgnored>
130+
</FileLog>
131+
<FileLog>
132+
<ProjectId>90f36029-b4b8-4117-bacd-1c4851022c9f</ProjectId>
133+
<CorrelationId>Intent.ModuleBuilder.TemplateRegistration.SingleFileNoModel#6943f8f0-6821-46cd-8cb0-528d986cd04a</CorrelationId>
134+
<OverwriteBehaviour>always</OverwriteBehaviour>
135+
<ApplicationRelativeFilePath>Templates/Templates/Client/AccessTokenResponse/AccessTokenResponseTemplateRegistration.cs</ApplicationRelativeFilePath>
136+
<ProjectRelativeFilePath>Templates/Client/AccessTokenResponse/AccessTokenResponseTemplateRegistration.cs</ProjectRelativeFilePath>
137+
<IsIgnored>false</IsIgnored>
138+
</FileLog>
123139
<FileLog>
124140
<ProjectId>90f36029-b4b8-4117-bacd-1c4851022c9f</ProjectId>
125141
<CorrelationId>Intent.ModuleBuilder.CSharp.Templates.CSharpTemplatePartial#9bef92a3-6542-4902-b83d-a79109013108</CorrelationId>

Modules/Intent.Modules.Blazor.Authentication/Templates/TemplateExtensions.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using Intent.Modules.Blazor.Authentication.Templates.Templates.Client.AccessTokenResponse;
23
using Intent.Modules.Blazor.Authentication.Templates.Templates.Client.PersistentAuthenticationStateProvider;
34
using Intent.Modules.Blazor.Authentication.Templates.Templates.Client.RedirectToLogin;
45
using Intent.Modules.Blazor.Authentication.Templates.Templates.Client.ServerAuthorizationMessageHandler;
@@ -36,6 +37,10 @@ namespace Intent.Modules.Blazor.Authentication.Templates
3637
{
3738
public static class TemplateExtensions
3839
{
40+
public static string GetAccessTokenResponseTemplateName(this IIntentTemplate template)
41+
{
42+
return template.GetTypeName(AccessTokenResponseTemplate.TemplateId);
43+
}
3944
public static string GetPersistentAuthenticationStateProviderTemplateName(this IIntentTemplate template)
4045
{
4146
return template.GetTypeName(PersistentAuthenticationStateProviderTemplate.TemplateId);

0 commit comments

Comments
 (0)