{"_id":"@aeroline_1025/angular-mobilesso","_rev":"31-ffb6f866cb22fe2e6b9504349e4319ed","time":{"1.0.5":"2019-08-01T16:01:24.327Z","created":"2019-08-01T16:03:40.587Z","1.0.6":"2019-08-01T16:03:40.925Z","modified":"2022-04-04T11:49:25.400Z","1.0.7":"2019-08-05T09:38:05.518Z","1.0.8":"2019-08-05T11:02:09.309Z","1.0.9":"2019-08-05T12:33:37.798Z","1.1.0":"2019-08-05T14:26:17.032Z","1.1.1":"2019-08-06T09:14:21.592Z","8.0.0":"2019-12-24T08:03:45.308Z","8.0.1":"2020-01-30T09:00:27.035Z","1.1.2":"2020-01-30T09:09:19.871Z"},"name":"@aeroline_1025/angular-mobilesso","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.6":{"name":"@aeroline_1025/angular-mobilesso","version":"1.0.6","description":"Manage the oidc, as Authorization Code mode, for MobileSSO","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/nmeurot/angular-mobilesso.git"},"keywords":["oidc","AuthorizationCode","angular","MobileSSO"],"author":{"name":"Nicolas MEUROT"},"license":"MIT","bugs":{"url":"https://github.com/nmeurot/angular-mobilesso/issues"},"homepage":"https://github.com/nmeurot/angular-mobilesso#readme","dependencies":{"jsrsasign":"^8.0.12","rxjs":"^6.2.2","rxjs-compat":"^6.2.2"},"peerDependencies":{"@angular/common":">=6.0.0","@angular/core":">=6.0.0"},"gitHead":"4acc3a101691b7eee4429e9e8c1bce5b294a4d78","_id":"@aeroline_1025/angular-mobilesso@1.0.6","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"},"dist":{"integrity":"sha512-gquGuG7Dx6stGUgr+jgiJmOtRxw+7ySCacgCZEIhWrAlcC4kaOqEjGIIHWlk0boffJjOiChZXUiJuj1CHX2LfQ==","shasum":"f86ab4815d4d755f0e5555b90778ec1be726632f","tarball":"https://registry.npmjs.org/@aeroline_1025/angular-mobilesso/-/angular-mobilesso-1.0.6.tgz","fileCount":21,"unpackedSize":89525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQw1dCRA9TVsSAnZWagAAc+AQAJ66A1dyJ9yfk7tbqk2P\nH3BsxjE7RZOp7m4KZXRHbioa2VX5Xl4hCMnA+xlyL2yxWSnx8elBkbyprzmk\n2Aeovev74orv2L+ot1mdg4Dccer2v9y8fAeO+AOChX0GvIQ6KWwkZHUUbAHS\nNPywjTmXN4ussC9AwVivNEElzOdq7dWl3l9sNvaLBG4Cby38EwpkyMCvwObc\nZngtYPkS9JxmnG+4HaaBI8QTbB2PgwFMZmCE3m1Pj1d0lFU/0d4/9XQALCEn\n2wzMJh9gwAj524wVvNT1b34aBv7+HNritkT+99Kr1qtjUH2BGxdhPfEVx1cR\ncHOvRVai0QypMpwuyuzvAklCI1QAMrIFr9iwlujbF6i4fqiLHp784qbc/M7y\nGXc9rOiadjtvxpkjJTdr+hBP06/8z5l6c2L15rCq35SGXCOMYPrGTwQsUshM\npEo2Vvnrm17gB52xMaYQVUx7Ze3ePeQaxGaQ/ojqfBj3FwINef863ZZSY244\nKQzH6UhlHHmfCs1dE74s/iNL7/Bu8squVsgPqfXi0TCkINLYoeY7q1YrMs31\nP/ynRpehr6LKi9e/UeGlQABBW6YmJFCrqb9p8cFNfGh2Nt6ZQiTFmFnh+QqJ\nTfYwX6nOdHoqXBbIa9XISXB+SoC4eUNNiPojziBraBMkEt6t+TExx4Ml5hS5\nItUC\r\n=dADS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEilGrqc4G2cT/qHHKihiwMiFMu79gCzyIGkRwOViGQAiACbVWjiAU+x+6WDBZIwiF7qnR7NnwB9yuU4x9J6FlmPg=="}]},"maintainers":[{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"},{"name":"gregory.delpu","email":"gdelpu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/angular-mobilesso_1.0.6_1564675420801_0.6782326387905269"},"_hasShrinkwrap":false,"deprecated":"test"},"1.1.1":{"name":"@aeroline_1025/angular-mobilesso","version":"1.1.1","description":"Manage the oidc, as Authorization Code mode, for MobileSSO","repository":{"type":"git","url":"git+https://github.com/nmeurot/angular-mobilesso.git"},"keywords":["oidc","AuthorizationCode","angular","MobileSSO"],"author":{"name":"Nicolas MEUROT"},"license":"MIT","bugs":{"url":"https://github.com/nmeurot/angular-mobilesso/issues"},"homepage":"https://github.com/nmeurot/angular-mobilesso#readme","dependencies":{"jsrsasign":"^8.0.12","tslib":"^1.9.0"},"peerDependencies":{"@angular/common":">=6.0.0","@angular/core":">=6.0.0","rxjs":"^6.2.2","rxjs-compat":"^6.2.2"},"main":"bundles/aeroline_1025-angular-mobilesso.umd.js","module":"fesm5/aeroline_1025-angular-mobilesso.js","es2015":"fesm2015/aeroline_1025-angular-mobilesso.js","esm5":"esm5/aeroline_1025-angular-mobilesso.js","esm2015":"esm2015/aeroline_1025-angular-mobilesso.js","fesm5":"fesm5/aeroline_1025-angular-mobilesso.js","fesm2015":"fesm2015/aeroline_1025-angular-mobilesso.js","typings":"aeroline_1025-angular-mobilesso.d.ts","metadata":"aeroline_1025-angular-mobilesso.metadata.json","sideEffects":false,"_id":"@aeroline_1025/angular-mobilesso@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"},"dist":{"integrity":"sha512-fotVNN+wbKGsk/Map0p9L4quZUyphzPQTMZkzoRV2lzw+6PDRZi7r+itCMYXNgjr58zFcSCBqcRVf4y396DDQg==","shasum":"bbcbcba1475c875728dfb713e71ffa4182ad22cd","tarball":"https://registry.npmjs.org/@aeroline_1025/angular-mobilesso/-/angular-mobilesso-1.1.1.tgz","fileCount":50,"unpackedSize":1520933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSUTuCRA9TVsSAnZWagAA48wP/0/jAejyR2BFEGHjzyuB\nMICHB56K10o8rxNL91tKkAhvraaNhJ68vTSInw3P4XrEeVpKpgvV0RWveSm5\nktEP/u7z5nLrcoDSkibu5/rQF13iTQ7rYXW9yKPOzKH1qeBgtqZ0vQJFbaqk\n5lnnXNU1R0pT7FjHJdQq9O83ybNBD+1Y3NVjV1tk7Y2Rbab6BwBX7MhQDkzg\nR2GvY1BZYTn6gQC2onBzY6ljUuQmcKmNphiz02Gt36peLL4jrPCAQcfoi8jW\nrE14xBHxFJRKSPdlv5RJFRDH3XH7GTQG6UsInDcv6kMrG59O92te9Jbpeya1\nPgtvtQYguaikMJ2GgAFhVXYoSI2eUx0bhVLcAl4oQJRU1KDZViPCcJC1/lHj\nAPFSuowLtEKq0vMAh4Q3h55wqt4pgnTlvyIqBYbuWiGOM4/EhV2zc/zZv2yM\nYjvLECAuIx2xObCPMqEw7XQ77yqTghGo+wofgnXJpkYBvMmuc3uf2cvbQo9e\nyvuc8dxA4fczzvByksPrwSZCsIOz6dv5gzRvGAMaM6noF5osmgEeVjftvF1Q\ncDHjcHIskl8hBuWFXprrWsvHouDxVvgT29PPqd3YTy3/SD/cLsIVg9J+TN5/\nTiHmOZ/pVMFHWbUxBuP+GglAhA2c4TMQh3QIpWaBzcvNblnZp0CLrkiXWiy/\n/4It\r\n=MLjy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCssC8PxDeByRWTkatK6gOoUB8Z12NiM2JH4mnuaveygIhAOvLBK01ztHSg3D2QB7GeNfuThmI7rJ+ROM8KHXN3lwf"}]},"maintainers":[{"name":"gregory.delpu","email":"gdelpu@gmail.com"},{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/angular-mobilesso_1.1.1_1565082861449_0.24614721686222474"},"_hasShrinkwrap":false},"8.0.0":{"name":"@aeroline_1025/angular-mobilesso","version":"8.0.0","description":"Manage the oidc, as Authorization Code mode, for MobileSSO - Angular 8","repository":{"type":"git","url":"git+https://github.com/nmeurot/angular-mobilesso.git"},"keywords":["oidc","AuthorizationCode","angular","MobileSSO"],"author":{"name":"Nicolas MEUROT"},"license":"MIT","bugs":{"url":"https://github.com/nmeurot/angular-mobilesso/issues"},"homepage":"https://github.com/nmeurot/angular-mobilesso#readme","dependencies":{"jsrsasign":"^8.0.12","tslib":"^1.9.0"},"peerDependencies":{"@angular/common":">=8.0.0","@angular/core":">=8.0.0","rxjs":"^6.2.2"},"main":"bundles/aeroline_1025-angular-mobilesso.umd.js","module":"fesm5/aeroline_1025-angular-mobilesso.js","es2015":"fesm2015/aeroline_1025-angular-mobilesso.js","esm5":"esm5/aeroline_1025-angular-mobilesso.js","esm2015":"esm2015/aeroline_1025-angular-mobilesso.js","fesm5":"fesm5/aeroline_1025-angular-mobilesso.js","fesm2015":"fesm2015/aeroline_1025-angular-mobilesso.js","typings":"aeroline_1025-angular-mobilesso.d.ts","metadata":"aeroline_1025-angular-mobilesso.metadata.json","sideEffects":false,"_id":"@aeroline_1025/angular-mobilesso@8.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"},"dist":{"integrity":"sha512-ch1zRgUG+nFQ1aQFYuD53pYl+l2VlZ4z1bbOilb/Yc4IsrhIKImZjAFFBz5/Alfx9NKTmRxmRuQEH+c+sBH0ZQ==","shasum":"2f2198c4aefec38e810b843d0228d8d04d4581aa","tarball":"https://registry.npmjs.org/@aeroline_1025/angular-mobilesso/-/angular-mobilesso-8.0.0.tgz","fileCount":50,"unpackedSize":1603035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAcZhCRA9TVsSAnZWagAA5U4P/i3g1GevtAvRIMDt90Ru\nF8vLiu/8qm0gXdz9KkuOM1GnaaV5Pmu6nqQW5BwQTOa2YTAd2tsfdJvsF6JI\nSDbV57SAs44eeNJvuUV2hrGBFEr3L2jwxInvxNjngKOBAOTFybIjoOyZdnIV\nhHHkZinsEKBV8mKlcsZX0oDtxwOYlPSbuzu9+BTipX9fQfB97o128M9zQDK9\nxhzlopJxSYl3XkjbbtkFnOOSpPixIqTx7r4ZleuosKB+ITVpRFwLm8oBz8YQ\nlot4XUSUcIhil+eADI+dfMHR+wGH7zp8vNGZeX+4MupzuY5J+Ojaw8e77CNW\nGNNSQbuChFgtvvuseOwKpeviwG2DI/Dx9Q36mfnslP2Xq+t6rKv74mGhUQk2\nhXiPQlhDrsszu2u9n53DniUw/fITeXVyNc6atUyYg32Lw4vBRgCzvLtYfqJz\n44VWoqYGWhgmcgnaPdH3tp0+Zuf1097mVL8HhWnjlyFmvnkDYq8tl1l7LmAc\nQckn5sfvjBvUEBExpFzwZYaom5u3aqJh4fUPVIy6HX4F+E15Jg/rs/r770Gq\nfWgMHOop+QKO1kdqSv7RdW1s8SQ1gl7Ru8qjDMhogau7JkhY0HE5sorxT2id\n4ZycOhjENzxZcdDGWig1hA0/WSdlewkn43GYZfMGULrq+/TzNUt8pQIFNN3x\nY3Ev\r\n=la+j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGihuLmReOktPcedN90YLCdocmLu/tnwAYleljqrk10yAiEAqXqncboVGSCDtWd3w/C+zF1xxu9zGykhD9H4Mb3nziU="}]},"maintainers":[{"name":"gregory.delpu","email":"gdelpu@gmail.com"},{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/angular-mobilesso_8.0.0_1577174625131_0.49596175719893654"},"_hasShrinkwrap":false},"8.0.1":{"name":"@aeroline_1025/angular-mobilesso","version":"8.0.1","description":"Manage the oidc, as Authorization Code mode, for MobileSSO - Angular 8","repository":{"type":"git","url":"git+https://github.com/nmeurot/angular-mobilesso.git"},"keywords":["oidc","AuthorizationCode","angular","MobileSSO"],"author":{"name":"Nicolas MEUROT"},"license":"MIT","bugs":{"url":"https://github.com/nmeurot/angular-mobilesso/issues"},"homepage":"https://github.com/nmeurot/angular-mobilesso#readme","dependencies":{"jsrsasign":"^8.0.12","tslib":"^1.9.0"},"peerDependencies":{"@angular/common":">=8.0.0","@angular/core":">=8.0.0","rxjs":"^6.2.2"},"main":"bundles/aeroline_1025-angular-mobilesso.umd.js","module":"fesm5/aeroline_1025-angular-mobilesso.js","es2015":"fesm2015/aeroline_1025-angular-mobilesso.js","esm5":"esm5/aeroline_1025-angular-mobilesso.js","esm2015":"esm2015/aeroline_1025-angular-mobilesso.js","fesm5":"fesm5/aeroline_1025-angular-mobilesso.js","fesm2015":"fesm2015/aeroline_1025-angular-mobilesso.js","typings":"aeroline_1025-angular-mobilesso.d.ts","metadata":"aeroline_1025-angular-mobilesso.metadata.json","sideEffects":false,"_id":"@aeroline_1025/angular-mobilesso@8.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"},"dist":{"integrity":"sha512-9fWQhdkrlQpshnFsF8w4dNmjHNDVFESac/Aoe2vbAVSquZzZKT0gOowpy6yozQ3PlTpOtYK9XdF2jJYAs5p8SQ==","shasum":"9d54fa8b16d403c25c3d1400249daedbac7768d0","tarball":"https://registry.npmjs.org/@aeroline_1025/angular-mobilesso/-/angular-mobilesso-8.0.1.tgz","fileCount":50,"unpackedSize":1606298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMpsrCRA9TVsSAnZWagAA6HEP/Rta5icLLrMOWYYM8FGY\nkFlw/KJNZbnx67Rsu4dRoBBVDEcu3jGUxeqE0wBJBBhsYB8J1jPer5T63qLc\nGSrq8U2lXlKUl4lKIZUSkmc8em4Ig27mAnJDxFYcuweYpJvFwgpu7fR4QQff\nkydWl05C8Dn1vQrpxJvcno9ItszCu2fSQTbbVm7r9aMVexw+DGGcnru8OM3F\nweDl/EAPjpe7otlFj9CvqvQk+vQn92gSbn58x30fojatJ1dyjLwv7RLYzeQ5\nGS6j0PHrmCEdEhXFm30FcP6d+0LOOvo56dt/XUrQJPuQmrXA9NhTItWE3v1J\nF2Tavjqta5MIRUScrIHEjuuPFtOpuF3oGvPZVEFmB2Ad4NyHvEDBd5iIyPoe\noUMynQGjbD9xDYnbhT+47FhEgiAa0V0g3NNZS52vTW9OktXjtm/lHJ8EBFgY\nwAHyf7nPMK+HFjFutti8oyDDj6mhT1tdXUCWV3zyD9Q2UbJHQyh3/17TJOUz\nyDl0Z6VHLF5P3YRJgt4/AXATtIavgtVRAikLtd+nVFTkOjFVJSMKpYSjSckD\nFaaN5n2AYpF7AGEGE9uf8Ma7B7K2wfEknCxX4l8K61HNRVgcoI5bqD1/xr2A\ngwpjigmLKE1xotNh1aPMiVdbLFwNBGAFkrqyojaKSQa0YBz4FOnZyElwag+F\n7e0E\r\n=Orc5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDWLHc1HJrWccnJaNwk4qpy2xjfRcYa9iqXZWmJWbVYLAiAMVTHBpok/KBHcFDwsa/sUsTrBE0hE5G2/yqJWW/t/TA=="}]},"maintainers":[{"name":"gregory.delpu","email":"gdelpu@gmail.com"},{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/angular-mobilesso_8.0.1_1580374826842_0.3102281628977488"},"_hasShrinkwrap":false},"1.1.2":{"name":"@aeroline_1025/angular-mobilesso","version":"1.1.2","description":"Manage the oidc, as Authorization Code mode, for MobileSSO","repository":{"type":"git","url":"git+https://github.com/nmeurot/angular-mobilesso.git"},"keywords":["oidc","AuthorizationCode","angular","MobileSSO"],"author":{"name":"Nicolas MEUROT"},"license":"MIT","bugs":{"url":"https://github.com/nmeurot/angular-mobilesso/issues"},"homepage":"https://github.com/nmeurot/angular-mobilesso#readme","dependencies":{"jsrsasign":"^8.0.12","tslib":"^1.9.0"},"peerDependencies":{"@angular/common":">=6.0.0","@angular/core":">=6.0.0","rxjs":"^6.2.2","rxjs-compat":"^6.2.2"},"main":"bundles/aeroline_1025-angular-mobilesso.umd.js","module":"fesm5/aeroline_1025-angular-mobilesso.js","es2015":"fesm2015/aeroline_1025-angular-mobilesso.js","esm5":"esm5/aeroline_1025-angular-mobilesso.js","esm2015":"esm2015/aeroline_1025-angular-mobilesso.js","fesm5":"fesm5/aeroline_1025-angular-mobilesso.js","fesm2015":"fesm2015/aeroline_1025-angular-mobilesso.js","typings":"aeroline_1025-angular-mobilesso.d.ts","metadata":"aeroline_1025-angular-mobilesso.metadata.json","sideEffects":false,"_id":"@aeroline_1025/angular-mobilesso@1.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"},"dist":{"integrity":"sha512-1/debLq4BQttLKDwJZb5ESysyBZcZjUALzWacRSQXTaSFcjaCg1pH9IAFA0sSFCye+Rui0lf2PFrvb2FvKSa9w==","shasum":"5701a82e189f88a4164374548c9fcc07fd195bc0","tarball":"https://registry.npmjs.org/@aeroline_1025/angular-mobilesso/-/angular-mobilesso-1.1.2.tgz","fileCount":50,"unpackedSize":1606315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMp1ACRA9TVsSAnZWagAA0HEQAI1s81XANDQpDQE51H1Q\n6D4VE+AdBplcCZ1TplZH7z3oFsWlXaN+zvHKEXBDJ5IW5mH8YunnffuTDwiC\nn/joLENyuEo1W40W8nPnIsBCKcAib/ozcHXYaONRICm8bm//R8dFZTHvAejd\nbh2gOEQVFGTtkMlsuWV+LJCBporAR8VLgIUQKs0ehKnc3SoQw10DOT56fwUm\n1hmUGRoS2+3IvW9LxndQ7WDyeRcpm2gEA1xkvFmcWXeHLn5lsARp/YEQs5GV\nIP1XvTYeychaoKRmgrj8+WL2rlRvphyAtpAF+tCWr/556CKsOlrRrJ14Q5nA\nfj9Gl6fIjyH7NJrL0UOItJAeh2iJ/c70E6XEs/UZaE7cbxmARboq4GW4QXwy\nquEkkBuQoEroblKAb56bCPYGGtwoQeu3d/hVownR1AXq/7iAk8+6aSLHkt84\nL6S5K/d9vWlAK/sLWUkS+8/Jp+uBcwxyROVFU4u2xYFcBbCD3jj0Bdi9dOp4\nmFp4wuu4xd1MRyP8+MOS8vhyV1kibgXt8nL0G3hhxCYQSm3vcHfP/42OMRXA\nLcZWUy0nwpawS8GslZuy+JfL8wlFCtkS6i9bRmSgaA1W1ilq/YJcxZt/ALpx\nyyuaI/5YHesEdjJI4rKGPFsdyDtpdSNqZCKN/3iQiasKe9VmjQsbZjrnKvPU\n1gF8\r\n=wLx/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfe+BikRfqtgkQoew7NTURV0XPg3EUMZIqg9zD3Bna5wIgHOOssNDZVFpCWPOb+wcspbXCGOByKpUYdRvbD9c3jIs="}]},"maintainers":[{"name":"gregory.delpu","email":"gdelpu@gmail.com"},{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/angular-mobilesso_1.1.2_1580375359667_0.7154853105138594"},"_hasShrinkwrap":false}},"maintainers":[{"name":"gregory.delpu","email":"gdelpu@gmail.com"},{"name":"nmeurot","email":"nicolas.meurot@soprasteria.com"}],"description":"Manage the oidc, as Authorization Code mode, for MobileSSO","homepage":"https://github.com/nmeurot/angular-mobilesso#readme","keywords":["oidc","AuthorizationCode","angular","MobileSSO"],"repository":{"type":"git","url":"git+https://github.com/nmeurot/angular-mobilesso.git"},"author":{"name":"Nicolas MEUROT"},"bugs":{"url":"https://github.com/nmeurot/angular-mobilesso/issues"},"license":"MIT","readme":"# Angular MobileSSO\r\n\r\n\r\n\r\n\r\n## Install the componant\r\n\r\nRun `npm install @aeroline_1025/angular-mobilesso` to install the package on your project.\r\n## Configure Module\r\nOn the file `app.modules.ts`, add the MobileSSO Module\r\n```\r\nimport { MobileSsoModule } from  '@aeroline_1025/angular-mobilesso';\r\n\r\n@NgModule({\r\n   imports: [\r\n      MobileSsoModule\r\n   ]\r\n})\r\n```\r\n## Environment Configuration\r\nUse the environment configuration file to pass the mandatory paramters to use the MobileSSO:\r\n- issuer : issuer defined by the MobileSSO\r\n- scope: Scope define for the project by MobileSSO, to retreive the Access Token \r\n- clientId: Client ID defined by MobileSSO to defined which clinet we are\r\n- redirectUrl: Url declared on MobileSSO and associated to our ClientID, It will be the Url redirect by the mobile SSO to send Authorization Code (as Query parameter)\r\n- autoRefreshAccessToken (boolean): Define if the Access Token is automatically updated by the Id Token, when it nearly expire\r\n\r\n*This is an example :*\r\n```\r\nexport const environment = {\r\n\tissuer:  '<URL Issuer (FedBroker)>',\r\n\tscope:  'SCO_<Project Scope>',\r\n\tclientId:  'CLI_<Project Client>',\r\n\tredirectUrl:  '<URL to redirect by MobileSSO>/',\r\n\tautoRefreshAccessToken:  true\r\n}\r\n```\r\nThere are the default properties to use to instanciate a new `AuthConfigMobileSSO` used by the componant angular-mobilsso\r\n\r\n## How to authenticate\r\n\r\nThe only thing to do is to :\r\n- Define the AuthConfigMobileSSO through the environment file\r\n- Import the Mobile SSO Module on the app module\r\n- Call the methode authenticate(...) from the class `MobileSsoHelper`\r\n\r\n*This is the class to import and the signature of the method to use :*\r\n```\r\nimport { MobileSsoHelper } from  '@aeroline_1025/angular-mobilesso';\r\n\r\npublic authenticate(config: AuthConfigMobileSSO,\r\n                    loginServiceUrl: string,\r\n                    showLogInfo = false,\r\n                    @Optional() callback:  any):  void {}\r\n```\r\n- *config*: AuthConfigMobileSSO parameters\r\n- *loginServiceUrl* : Url to our own service login to validate the Access Token retreived and validate login (and / or generate internal JWT application token)\r\n- *showLogInfo*: Define if we display logs INFO or not\r\n- *callback*: is an object with at least the method what to do more when Access Token is received. It is optionnal : `applyToken(data: TokenResponse): void;`\r\n> **Exemple** of applyToken method :\r\n>   ```\r\n>       /**\r\n>\t     * Apply token from internal zone\r\n>\t     * @param data Token response\r\n>\t     */\r\n>\t    applyToken(data: TokenResponse): void {\r\n>\t        if (window.opener) {\r\n>\t            window.opener.my.app.applyTokenFromOutside(data);\r\n>           } else {\r\n>\t            localStorage.setItem(this.KeyTokenStorageName, JSON.stringify(data));\r\n>\t            this.setCurrentTokenResponse(data); // It is a custom method to store some date information\r\n>\t            this.router.navigate(['']);\r\n>\t          }\r\n>\t    }\r\n\r\n\r\n## Where to authenticate\r\n\r\nThe authentication has to be done on a Interceptor, where the method will be called to authenticate through the MobileSSO Helper\r\n\r\n> **Exemple** of interceptor :\r\n> In this example `this.userService.Authenticate(true);` is a custom method on a user service custom where the method `this.mobileSsoHelper.authenticate(GlobalConfiguration.getMobileSsoConfig(),\r\nthis.loginServiceUrl\r\ntrue,\r\nthis.callback);` is called\r\n>   ```\r\n>  /**\r\n> * Interception method\r\n> * @param  request Http request\r\n> * @param  next next action\r\n> */\r\n>  public  intercept (request:  HttpRequest<any>, next:  HttpHandler): Observable<HttpEvent<any>> {\r\n>      this.Logger.info(`Process to request : ${request.url}`);\r\n>      if (request.url  !==  this.loginServiceUrl) {\r\n>          // Normal request (add current token)\r\n>          request  =  this.addTokenHeaders(request);\r\n>          if (this.userService.isTokenExpired()) {\r\n>              this.Logger.info('Token is expired, ask a new token');\r\n>              **this.userService.Authenticate(true)**;\r\n>         } else {\r\n>              // Execute request\r\n>              return  next.handle(request)\r\n>                                  .pipe(\r\n>                                     map(res  =>  res),\r\n>                                     catchError((err, caught) => {\r\n>                                           if (err  instanceof  RedoException) {\r\n>                                               throw  err;\r\n>                                           }\r\n>                                           if (err  instanceof  HttpErrorResponse) {\r\n>                                                 this.Logger.warning('Error in HTTP interceptor');\r\n>                                                 const  jsonParseError  =  'Http failure during parsing for';\r\n>                                                 const  matches  =  err.message.match(new  RegExp(jsonParseError, 'ig'));\r\n>                                                // return of(null);\r\n>                                                if (err.status  ===  200  &&  matches.length  ===  1) {\r\n>                                                     // return obs that completes;\r\n>                                                     this.Logger.info('Skip http failure for parsing, response type is not JSON however the format seems good.');\r\n>                                                     throw(err.error.text);\r\n>                                               } else {\r\n>                                                     if (err.status  ===  401) {\r\n>                                                         // Authentication error\r\n>                                                         this.Logger.error(`Authentication error : ${err.message}`);\r\n>                                                         **this.userService.Authenticate(true)**;\r\n>                                                         throw  new  AutorizationException();\r\n>                                                     } else {\r\n>                                                          this.Logger.error(`Application communication error (code ${err.status}) : ${err.message}`);\r\n>                                                          throw(err);\r\n>                                                     }\r\n>                                               }\r\n>                                          }\r\n>                                          return  caught;\r\n>                                     }));\r\n>            }\r\n>       }\r\n>       return  next.handle(request);\r\n> } \r\n","readmeFilename":"README.md"}