@ttoss/cloud-auth 0.6.4 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +6 -6
- package/.turbo/turbo-test.log +18 -16
- package/CHANGELOG.md +12 -0
- package/coverage/clover.xml +185 -67
- package/coverage/coverage-final.json +1 -1
- package/coverage/lcov-report/config.ts.html +1 -1
- package/coverage/lcov-report/index.html +15 -15
- package/coverage/lcov-report/index.ts.html +1 -1
- package/coverage/lcov-report/template.ts.html +440 -86
- package/coverage/lcov.info +190 -69
- package/dist/esm/index.js +124 -13
- package/dist/index.d.ts +17 -20
- package/dist/index.js +124 -13
- package/package.json +5 -5
- package/src/template.ts +155 -37
- package/tests/unit/template.test.ts +85 -65
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">97.73% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>302/309</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">80% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>8/10</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">97.73% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>302/309</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -254,7 +254,131 @@
|
|
|
254
254
|
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
255
|
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
256
|
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
376
|
+
<span class="cline-any cline-yes">1x</span>
|
|
377
|
+
<span class="cline-any cline-yes">1x</span>
|
|
378
|
+
<span class="cline-any cline-yes">1x</span>
|
|
379
|
+
<span class="cline-any cline-yes">1x</span>
|
|
380
|
+
<span class="cline-any cline-yes">1x</span>
|
|
381
|
+
<span class="cline-any cline-yes">1x</span>
|
|
258
382
|
<span class="cline-any cline-yes">1x</span>
|
|
259
383
|
<span class="cline-any cline-yes">1x</span>
|
|
260
384
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -270,7 +394,6 @@
|
|
|
270
394
|
<span class="cline-any cline-yes">1x</span>
|
|
271
395
|
<span class="cline-any cline-yes">1x</span>
|
|
272
396
|
<span class="cline-any cline-yes">1x</span>
|
|
273
|
-
<span class="cline-any cline-yes">12x</span>
|
|
274
397
|
<span class="cline-any cline-yes">12x</span>
|
|
275
398
|
<span class="cline-any cline-yes">12x</span>
|
|
276
399
|
<span class="cline-any cline-yes">12x</span>
|
|
@@ -383,27 +506,17 @@
|
|
|
383
506
|
<span class="cline-any cline-yes">12x</span>
|
|
384
507
|
<span class="cline-any cline-yes">12x</span>
|
|
385
508
|
<span class="cline-any cline-yes">12x</span>
|
|
386
|
-
<span class="cline-any cline-yes">
|
|
387
|
-
<span class="cline-any cline-yes">
|
|
388
|
-
<span class="cline-any cline-yes">
|
|
389
|
-
<span class="cline-any cline-yes">
|
|
390
|
-
<span class="cline-any cline-
|
|
391
|
-
<span class="cline-any cline-
|
|
392
|
-
<span class="cline-any cline-
|
|
393
|
-
<span class="cline-any cline-
|
|
394
|
-
<span class="cline-any cline-
|
|
395
|
-
<span class="cline-any cline-yes">
|
|
396
|
-
<span class="cline-any cline-yes">
|
|
397
|
-
<span class="cline-any cline-yes">11x</span>
|
|
398
|
-
<span class="cline-any cline-yes">11x</span>
|
|
399
|
-
<span class="cline-any cline-yes">11x</span>
|
|
400
|
-
<span class="cline-any cline-yes">11x</span>
|
|
401
|
-
<span class="cline-any cline-yes">11x</span>
|
|
402
|
-
<span class="cline-any cline-yes">11x</span>
|
|
403
|
-
<span class="cline-any cline-yes">11x</span>
|
|
404
|
-
<span class="cline-any cline-yes">11x</span>
|
|
405
|
-
<span class="cline-any cline-yes">11x</span>
|
|
406
|
-
<span class="cline-any cline-yes">11x</span>
|
|
509
|
+
<span class="cline-any cline-yes">1x</span>
|
|
510
|
+
<span class="cline-any cline-yes">1x</span>
|
|
511
|
+
<span class="cline-any cline-yes">1x</span>
|
|
512
|
+
<span class="cline-any cline-yes">1x</span>
|
|
513
|
+
<span class="cline-any cline-no"> </span>
|
|
514
|
+
<span class="cline-any cline-no"> </span>
|
|
515
|
+
<span class="cline-any cline-no"> </span>
|
|
516
|
+
<span class="cline-any cline-no"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-yes">1x</span>
|
|
519
|
+
<span class="cline-any cline-yes">1x</span>
|
|
407
520
|
<span class="cline-any cline-yes">1x</span>
|
|
408
521
|
<span class="cline-any cline-yes">1x</span>
|
|
409
522
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -417,26 +530,149 @@
|
|
|
417
530
|
<span class="cline-any cline-yes">1x</span>
|
|
418
531
|
<span class="cline-any cline-yes">1x</span>
|
|
419
532
|
<span class="cline-any cline-yes">1x</span>
|
|
420
|
-
<span class="cline-any cline-yes">
|
|
421
|
-
<span class="cline-any cline-yes">
|
|
533
|
+
<span class="cline-any cline-yes">1x</span>
|
|
534
|
+
<span class="cline-any cline-yes">1x</span>
|
|
535
|
+
<span class="cline-any cline-yes">1x</span>
|
|
536
|
+
<span class="cline-any cline-yes">1x</span>
|
|
537
|
+
<span class="cline-any cline-yes">1x</span>
|
|
538
|
+
<span class="cline-any cline-yes">1x</span>
|
|
539
|
+
<span class="cline-any cline-yes">1x</span>
|
|
540
|
+
<span class="cline-any cline-yes">1x</span>
|
|
541
|
+
<span class="cline-any cline-yes">12x</span>
|
|
542
|
+
<span class="cline-any cline-yes">12x</span>
|
|
543
|
+
<span class="cline-any cline-yes">2x</span>
|
|
544
|
+
<span class="cline-any cline-yes">2x</span>
|
|
545
|
+
<span class="cline-any cline-yes">2x</span>
|
|
546
|
+
<span class="cline-any cline-yes">2x</span>
|
|
547
|
+
<span class="cline-any cline-yes">2x</span>
|
|
548
|
+
<span class="cline-any cline-yes">2x</span>
|
|
549
|
+
<span class="cline-any cline-yes">2x</span>
|
|
550
|
+
<span class="cline-any cline-yes">2x</span>
|
|
551
|
+
<span class="cline-any cline-yes">2x</span>
|
|
552
|
+
<span class="cline-any cline-yes">2x</span>
|
|
553
|
+
<span class="cline-any cline-yes">2x</span>
|
|
554
|
+
<span class="cline-any cline-yes">2x</span>
|
|
555
|
+
<span class="cline-any cline-yes">2x</span>
|
|
556
|
+
<span class="cline-any cline-yes">2x</span>
|
|
557
|
+
<span class="cline-any cline-yes">2x</span>
|
|
558
|
+
<span class="cline-any cline-yes">2x</span>
|
|
559
|
+
<span class="cline-any cline-yes">2x</span>
|
|
560
|
+
<span class="cline-any cline-yes">2x</span>
|
|
561
|
+
<span class="cline-any cline-yes">2x</span>
|
|
562
|
+
<span class="cline-any cline-yes">2x</span>
|
|
563
|
+
<span class="cline-any cline-yes">2x</span>
|
|
564
|
+
<span class="cline-any cline-yes">2x</span>
|
|
565
|
+
<span class="cline-any cline-yes">2x</span>
|
|
566
|
+
<span class="cline-any cline-yes">2x</span>
|
|
567
|
+
<span class="cline-any cline-yes">2x</span>
|
|
568
|
+
<span class="cline-any cline-yes">2x</span>
|
|
569
|
+
<span class="cline-any cline-yes">2x</span>
|
|
570
|
+
<span class="cline-any cline-yes">2x</span>
|
|
571
|
+
<span class="cline-any cline-yes">2x</span>
|
|
572
|
+
<span class="cline-any cline-yes">2x</span>
|
|
573
|
+
<span class="cline-any cline-yes">2x</span>
|
|
574
|
+
<span class="cline-any cline-yes">2x</span>
|
|
575
|
+
<span class="cline-any cline-yes">2x</span>
|
|
576
|
+
<span class="cline-any cline-yes">2x</span>
|
|
577
|
+
<span class="cline-any cline-yes">2x</span>
|
|
578
|
+
<span class="cline-any cline-yes">2x</span>
|
|
579
|
+
<span class="cline-any cline-yes">2x</span>
|
|
580
|
+
<span class="cline-any cline-yes">2x</span>
|
|
581
|
+
<span class="cline-any cline-yes">2x</span>
|
|
582
|
+
<span class="cline-any cline-yes">2x</span>
|
|
583
|
+
<span class="cline-any cline-yes">2x</span>
|
|
584
|
+
<span class="cline-any cline-yes">2x</span>
|
|
585
|
+
<span class="cline-any cline-yes">2x</span>
|
|
586
|
+
<span class="cline-any cline-yes">2x</span>
|
|
587
|
+
<span class="cline-any cline-yes">2x</span>
|
|
588
|
+
<span class="cline-any cline-yes">2x</span>
|
|
589
|
+
<span class="cline-any cline-yes">2x</span>
|
|
590
|
+
<span class="cline-any cline-yes">2x</span>
|
|
591
|
+
<span class="cline-any cline-yes">2x</span>
|
|
592
|
+
<span class="cline-any cline-yes">2x</span>
|
|
593
|
+
<span class="cline-any cline-yes">2x</span>
|
|
594
|
+
<span class="cline-any cline-yes">2x</span>
|
|
595
|
+
<span class="cline-any cline-yes">2x</span>
|
|
596
|
+
<span class="cline-any cline-yes">2x</span>
|
|
597
|
+
<span class="cline-any cline-yes">2x</span>
|
|
598
|
+
<span class="cline-any cline-yes">2x</span>
|
|
599
|
+
<span class="cline-any cline-yes">2x</span>
|
|
600
|
+
<span class="cline-any cline-yes">2x</span>
|
|
601
|
+
<span class="cline-any cline-yes">2x</span>
|
|
602
|
+
<span class="cline-any cline-yes">2x</span>
|
|
603
|
+
<span class="cline-any cline-yes">2x</span>
|
|
604
|
+
<span class="cline-any cline-yes">2x</span>
|
|
605
|
+
<span class="cline-any cline-yes">2x</span>
|
|
606
|
+
<span class="cline-any cline-yes">2x</span>
|
|
607
|
+
<span class="cline-any cline-yes">2x</span>
|
|
608
|
+
<span class="cline-any cline-yes">2x</span>
|
|
609
|
+
<span class="cline-any cline-yes">2x</span>
|
|
610
|
+
<span class="cline-any cline-yes">2x</span>
|
|
611
|
+
<span class="cline-any cline-yes">2x</span>
|
|
612
|
+
<span class="cline-any cline-yes">2x</span>
|
|
613
|
+
<span class="cline-any cline-yes">2x</span>
|
|
614
|
+
<span class="cline-any cline-yes">2x</span>
|
|
615
|
+
<span class="cline-any cline-yes">2x</span>
|
|
616
|
+
<span class="cline-any cline-yes">2x</span>
|
|
617
|
+
<span class="cline-any cline-yes">2x</span>
|
|
618
|
+
<span class="cline-any cline-yes">2x</span>
|
|
619
|
+
<span class="cline-any cline-yes">2x</span>
|
|
620
|
+
<span class="cline-any cline-yes">2x</span>
|
|
621
|
+
<span class="cline-any cline-yes">2x</span>
|
|
622
|
+
<span class="cline-any cline-yes">2x</span>
|
|
623
|
+
<span class="cline-any cline-yes">2x</span>
|
|
624
|
+
<span class="cline-any cline-yes">2x</span>
|
|
625
|
+
<span class="cline-any cline-yes">2x</span>
|
|
626
|
+
<span class="cline-any cline-yes">2x</span>
|
|
627
|
+
<span class="cline-any cline-yes">2x</span>
|
|
628
|
+
<span class="cline-any cline-yes">2x</span>
|
|
629
|
+
<span class="cline-any cline-yes">2x</span>
|
|
630
|
+
<span class="cline-any cline-yes">2x</span>
|
|
631
|
+
<span class="cline-any cline-yes">2x</span>
|
|
632
|
+
<span class="cline-any cline-yes">2x</span>
|
|
633
|
+
<span class="cline-any cline-yes">2x</span>
|
|
634
|
+
<span class="cline-any cline-yes">2x</span>
|
|
635
|
+
<span class="cline-any cline-yes">2x</span>
|
|
636
|
+
<span class="cline-any cline-yes">2x</span>
|
|
637
|
+
<span class="cline-any cline-yes">2x</span>
|
|
638
|
+
<span class="cline-any cline-yes">2x</span>
|
|
639
|
+
<span class="cline-any cline-yes">2x</span>
|
|
640
|
+
<span class="cline-any cline-yes">2x</span>
|
|
641
|
+
<span class="cline-any cline-yes">2x</span>
|
|
642
|
+
<span class="cline-any cline-yes">2x</span>
|
|
643
|
+
<span class="cline-any cline-yes">2x</span>
|
|
644
|
+
<span class="cline-any cline-yes">2x</span>
|
|
645
|
+
<span class="cline-any cline-yes">2x</span>
|
|
646
|
+
<span class="cline-any cline-yes">2x</span>
|
|
647
|
+
<span class="cline-any cline-yes">2x</span>
|
|
648
|
+
<span class="cline-any cline-yes">2x</span>
|
|
649
|
+
<span class="cline-any cline-yes">2x</span>
|
|
650
|
+
<span class="cline-any cline-yes">2x</span>
|
|
651
|
+
<span class="cline-any cline-yes">2x</span>
|
|
652
|
+
<span class="cline-any cline-yes">2x</span>
|
|
653
|
+
<span class="cline-any cline-yes">2x</span>
|
|
654
|
+
<span class="cline-any cline-yes">2x</span>
|
|
655
|
+
<span class="cline-any cline-yes">2x</span>
|
|
656
|
+
<span class="cline-any cline-yes">2x</span>
|
|
657
|
+
<span class="cline-any cline-yes">2x</span>
|
|
422
658
|
<span class="cline-any cline-no"> </span>
|
|
423
659
|
<span class="cline-any cline-no"> </span>
|
|
424
|
-
<span class="cline-any cline-yes">
|
|
425
|
-
<span class="cline-any cline-yes">
|
|
426
|
-
<span class="cline-any cline-yes">
|
|
427
|
-
<span class="cline-any cline-yes">
|
|
428
|
-
<span class="cline-any cline-yes">
|
|
429
|
-
<span class="cline-any cline-yes">
|
|
430
|
-
<span class="cline-any cline-yes">
|
|
431
|
-
<span class="cline-any cline-yes">
|
|
432
|
-
<span class="cline-any cline-yes">
|
|
433
|
-
<span class="cline-any cline-yes">
|
|
434
|
-
<span class="cline-any cline-yes">
|
|
435
|
-
<span class="cline-any cline-yes">
|
|
436
|
-
<span class="cline-any cline-yes">
|
|
437
|
-
<span class="cline-any cline-yes">
|
|
438
|
-
<span class="cline-any cline-yes">
|
|
439
|
-
<span class="cline-any cline-yes">
|
|
660
|
+
<span class="cline-any cline-yes">2x</span>
|
|
661
|
+
<span class="cline-any cline-yes">2x</span>
|
|
662
|
+
<span class="cline-any cline-yes">2x</span>
|
|
663
|
+
<span class="cline-any cline-yes">2x</span>
|
|
664
|
+
<span class="cline-any cline-yes">2x</span>
|
|
665
|
+
<span class="cline-any cline-yes">2x</span>
|
|
666
|
+
<span class="cline-any cline-yes">2x</span>
|
|
667
|
+
<span class="cline-any cline-yes">2x</span>
|
|
668
|
+
<span class="cline-any cline-yes">2x</span>
|
|
669
|
+
<span class="cline-any cline-yes">2x</span>
|
|
670
|
+
<span class="cline-any cline-yes">2x</span>
|
|
671
|
+
<span class="cline-any cline-yes">2x</span>
|
|
672
|
+
<span class="cline-any cline-yes">2x</span>
|
|
673
|
+
<span class="cline-any cline-yes">2x</span>
|
|
674
|
+
<span class="cline-any cline-yes">2x</span>
|
|
675
|
+
<span class="cline-any cline-yes">2x</span>
|
|
440
676
|
<span class="cline-any cline-yes">12x</span>
|
|
441
677
|
<span class="cline-any cline-yes">12x</span>
|
|
442
678
|
<span class="cline-any cline-yes">12x</span>
|
|
@@ -445,8 +681,8 @@
|
|
|
445
681
|
<span class="cline-any cline-yes">1x</span>
|
|
446
682
|
<span class="cline-any cline-yes">1x</span>
|
|
447
683
|
<span class="cline-any cline-yes">1x</span>
|
|
448
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
449
|
-
import {
|
|
684
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { PASSWORD_MINIMUM_LENGTH } from './config';
|
|
685
|
+
import type { CloudFormationTemplate, Policy } from '@ttoss/cloudformation';
|
|
450
686
|
|
|
451
687
|
const CognitoUserPoolLogicalId = 'CognitoUserPool';
|
|
452
688
|
|
|
@@ -454,41 +690,46 @@ const CognitoUserPoolClientLogicalId = 'CognitoUserPoolClient';
|
|
|
454
690
|
|
|
455
691
|
const CognitoIdentityPoolLogicalId = 'CognitoIdentityPool';
|
|
456
692
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
693
|
+
const IdentityPoolAuthenticatedIAMRoleLogicalId =
|
|
694
|
+
'IdentityPoolAuthenticatedIAMRole';
|
|
695
|
+
|
|
696
|
+
const IdentityPoolUnauthenticatedIAMRoleLogicalId =
|
|
697
|
+
'IdentityPoolUnauthenticatedIAMRole';
|
|
698
|
+
|
|
699
|
+
export const DenyStatement = {
|
|
700
|
+
Effect: 'Deny' as const,
|
|
701
|
+
Action: ['*'],
|
|
702
|
+
Resource: ['*'],
|
|
703
|
+
};
|
|
462
704
|
|
|
463
705
|
export const createAuthTemplate = ({
|
|
464
706
|
autoVerifiedAttributes = ['email'],
|
|
465
|
-
identityPool
|
|
466
|
-
roles,
|
|
707
|
+
identityPool,
|
|
467
708
|
schema,
|
|
468
709
|
usernameAttributes = ['email'],
|
|
469
710
|
}: {
|
|
470
711
|
autoVerifiedAttributes?: Array<'email' | 'phone_number'> | null | false;
|
|
471
|
-
identityPool?:
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
712
|
+
identityPool?: {
|
|
713
|
+
enabled?: boolean;
|
|
714
|
+
authenticatedPolicies?: Policy[];
|
|
715
|
+
unauthenticatedPolicies?: Policy[];
|
|
475
716
|
};
|
|
476
717
|
/**
|
|
477
718
|
* https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html
|
|
478
719
|
*/
|
|
479
720
|
schema?: {
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
721
|
+
attributeDataType?: 'Boolean' | 'DateTime' | 'Number' | 'String';
|
|
722
|
+
developerOnlyAttribute?: boolean;
|
|
723
|
+
mutable?: boolean;
|
|
724
|
+
name?: string;
|
|
725
|
+
numberAttributeConstraints?: {
|
|
726
|
+
maxValue?: string;
|
|
727
|
+
minValue?: string;
|
|
487
728
|
};
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
729
|
+
required?: boolean;
|
|
730
|
+
stringAttributeConstraints?: {
|
|
731
|
+
maxLength: string;
|
|
732
|
+
minLength: string;
|
|
492
733
|
};
|
|
493
734
|
}[];
|
|
494
735
|
usernameAttributes?: Array<'email' | 'phone_number'> | null;
|
|
@@ -503,6 +744,7 @@ export const createAuthTemplate = ({
|
|
|
503
744
|
Resources: {
|
|
504
745
|
[CognitoUserPoolLogicalId]: {
|
|
505
746
|
Type: 'AWS::Cognito::UserPool',
|
|
747
|
+
DeletionPolicy: 'Retain',
|
|
506
748
|
Properties: {
|
|
507
749
|
AutoVerifiedAttributes,
|
|
508
750
|
Policies: {
|
|
@@ -515,7 +757,6 @@ export const createAuthTemplate = ({
|
|
|
515
757
|
TemporaryPasswordValidityDays: 30,
|
|
516
758
|
},
|
|
517
759
|
},
|
|
518
|
-
Schema: schema,
|
|
519
760
|
UsernameAttributes: usernameAttributes,
|
|
520
761
|
UsernameConfiguration: {
|
|
521
762
|
CaseSensitive: false,
|
|
@@ -573,7 +814,41 @@ export const createAuthTemplate = ({
|
|
|
573
814
|
},
|
|
574
815
|
};
|
|
575
816
|
|
|
576
|
-
if (
|
|
817
|
+
if (schema) {
|
|
818
|
+
const Schema = schema.map((attribute) => {
|
|
819
|
+
let NumberAttributeConstraints = undefined;
|
|
820
|
+
|
|
821
|
+
if (attribute.numberAttributeConstraints) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
822
|
+
<span class="cstat-no" title="statement not covered" > NumberAttributeConstraints = {</span>
|
|
823
|
+
<span class="cstat-no" title="statement not covered" > MaxValue: attribute.numberAttributeConstraints?.maxValue,</span>
|
|
824
|
+
<span class="cstat-no" title="statement not covered" > MinValue: attribute.numberAttributeConstraints?.minValue,</span>
|
|
825
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
826
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
827
|
+
|
|
828
|
+
let StringAttributeConstraints = undefined;
|
|
829
|
+
|
|
830
|
+
if (attribute.stringAttributeConstraints) {
|
|
831
|
+
StringAttributeConstraints = {
|
|
832
|
+
MaxLength: attribute.stringAttributeConstraints?.maxLength,
|
|
833
|
+
MinLength: attribute.stringAttributeConstraints?.minLength,
|
|
834
|
+
};
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
return {
|
|
838
|
+
AttributeDataType: attribute.attributeDataType,
|
|
839
|
+
DeveloperOnlyAttribute: attribute.developerOnlyAttribute,
|
|
840
|
+
Mutable: attribute.mutable,
|
|
841
|
+
Name: attribute.name,
|
|
842
|
+
NumberAttributeConstraints,
|
|
843
|
+
Required: attribute.required,
|
|
844
|
+
StringAttributeConstraints,
|
|
845
|
+
};
|
|
846
|
+
});
|
|
847
|
+
|
|
848
|
+
template.Resources[CognitoUserPoolLogicalId].Properties.Schema = Schema;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
if (identityPool?.enabled) {
|
|
577
852
|
/**
|
|
578
853
|
* https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html
|
|
579
854
|
*/
|
|
@@ -594,20 +869,99 @@ export const createAuthTemplate = ({
|
|
|
594
869
|
},
|
|
595
870
|
};
|
|
596
871
|
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
872
|
+
template.Resources[IdentityPoolAuthenticatedIAMRoleLogicalId] = {
|
|
873
|
+
Type: 'AWS::IAM::Role',
|
|
874
|
+
Properties: {
|
|
875
|
+
AssumeRolePolicyDocument: {
|
|
876
|
+
Version: '2012-10-17' as const,
|
|
877
|
+
Statement: [
|
|
878
|
+
{
|
|
879
|
+
Effect: 'Allow' as const,
|
|
880
|
+
Principal: {
|
|
881
|
+
Federated: 'cognito-identity.amazonaws.com',
|
|
882
|
+
},
|
|
883
|
+
Action: ['sts:AssumeRoleWithWebIdentity', 'sts:TagSession'],
|
|
884
|
+
Condition: {
|
|
885
|
+
StringEquals: {
|
|
886
|
+
'cognito-identity.amazonaws.com:aud': {
|
|
887
|
+
Ref: CognitoIdentityPoolLogicalId,
|
|
888
|
+
},
|
|
889
|
+
},
|
|
890
|
+
'ForAnyValue:StringLike': {
|
|
891
|
+
'cognito-identity.amazonaws.com:amr': 'authenticated',
|
|
892
|
+
},
|
|
893
|
+
},
|
|
894
|
+
},
|
|
895
|
+
],
|
|
896
|
+
},
|
|
897
|
+
Policies: identityPool.authenticatedPolicies || [
|
|
898
|
+
{
|
|
899
|
+
PolicyName: 'IdentityPoolAuthenticatedIAMRolePolicyName',
|
|
900
|
+
PolicyDocument: {
|
|
901
|
+
Version: '2012-10-17' as const,
|
|
902
|
+
Statement: [DenyStatement],
|
|
903
|
+
},
|
|
606
904
|
},
|
|
607
|
-
|
|
905
|
+
],
|
|
906
|
+
},
|
|
907
|
+
};
|
|
908
|
+
|
|
909
|
+
template.Resources[IdentityPoolUnauthenticatedIAMRoleLogicalId] = {
|
|
910
|
+
Type: 'AWS::IAM::Role',
|
|
911
|
+
Properties: {
|
|
912
|
+
AssumeRolePolicyDocument: {
|
|
913
|
+
Version: '2012-10-17' as const,
|
|
914
|
+
Statement: [
|
|
915
|
+
{
|
|
916
|
+
Effect: 'Allow' as const,
|
|
917
|
+
Principal: {
|
|
918
|
+
Federated: 'cognito-identity.amazonaws.com',
|
|
919
|
+
},
|
|
920
|
+
Action: 'sts:AssumeRoleWithWebIdentity',
|
|
921
|
+
Condition: {
|
|
922
|
+
StringEquals: {
|
|
923
|
+
'cognito-identity.amazonaws.com:aud': {
|
|
924
|
+
Ref: CognitoIdentityPoolLogicalId,
|
|
925
|
+
},
|
|
926
|
+
},
|
|
927
|
+
'ForAnyValue:StringLike': {
|
|
928
|
+
'cognito-identity.amazonaws.com:amr': 'unauthenticated',
|
|
929
|
+
},
|
|
930
|
+
},
|
|
931
|
+
},
|
|
932
|
+
],
|
|
608
933
|
},
|
|
609
|
-
|
|
610
|
-
|
|
934
|
+
Policies: identityPool.authenticatedPolicies || [
|
|
935
|
+
{
|
|
936
|
+
PolicyName: 'IdentityPoolUnauthenticatedIAMRolePolicyName',
|
|
937
|
+
PolicyDocument: {
|
|
938
|
+
Version: '2012-10-17' as const,
|
|
939
|
+
Statement: [DenyStatement],
|
|
940
|
+
},
|
|
941
|
+
},
|
|
942
|
+
],
|
|
943
|
+
},
|
|
944
|
+
};
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html
|
|
948
|
+
*/
|
|
949
|
+
template.Resources.CognitoIdentityPoolRoleAttachment = {
|
|
950
|
+
Type: 'AWS::Cognito::IdentityPoolRoleAttachment',
|
|
951
|
+
Properties: {
|
|
952
|
+
IdentityPoolId: {
|
|
953
|
+
Ref: CognitoIdentityPoolLogicalId,
|
|
954
|
+
},
|
|
955
|
+
Roles: {
|
|
956
|
+
authenticated: {
|
|
957
|
+
'Fn::GetAtt': [IdentityPoolAuthenticatedIAMRoleLogicalId, 'Arn'],
|
|
958
|
+
},
|
|
959
|
+
unauthenticated: {
|
|
960
|
+
'Fn::GetAtt': [IdentityPoolUnauthenticatedIAMRoleLogicalId, 'Arn'],
|
|
961
|
+
},
|
|
962
|
+
},
|
|
963
|
+
},
|
|
964
|
+
};
|
|
611
965
|
|
|
612
966
|
if (!template.Outputs) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
613
967
|
<span class="cstat-no" title="statement not covered" > template.Outputs = {};</span>
|
|
@@ -643,7 +997,7 @@ createAuthTemplate.CognitoIdentityPoolLogicalId = CognitoIdentityPoolLogicalId;
|
|
|
643
997
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
644
998
|
Code coverage generated by
|
|
645
999
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
646
|
-
at 2023-
|
|
1000
|
+
at 2023-03-07T01:14:20.193Z
|
|
647
1001
|
</div>
|
|
648
1002
|
<script src="prettify.js"></script>
|
|
649
1003
|
<script>
|