{"_id":"@atlas-engine/iam","_rev":"241-1ae8f5cc3063c0d2b0f5bd4ee086625b","name":"@atlas-engine/iam","dist-tags":{"beta":"2.2.4-beta.1","latest":"2.2.5","alpha":"2.2.5-alpha.1"},"versions":{"0.0.1":{"name":"@atlas-engine/iam","version":"0.0.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.0.1","maintainers":[{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"contributors":[{"name":"Christoph Gnip","email":"christoph.gnip@5minds.de"},{"name":"Robin Lenz","email":"robin.lenz@5minds.de"},{"name":"Sebastian Meier","email":"sebastian.meier@5minds.de"}],"dist":{"shasum":"84d96a936d9959bbae758174d2d17aad6d3ed32b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.0.1.tgz","fileCount":56,"integrity":"sha512-qSRqNaH2qIXGCqqD3DBa5YSdAcBzjhQDM37G0MEN9dFkGCB39qFPF1n3yx7abJ8itgBYcUP40aw9Z2TucSiQAg==","signatures":[{"sig":"MEYCIQCJhXSbx6MC1KiGnvZT/CIhEbhuW7nStRhh3/4Qd0U/pgIhAOnN8u6bw64DiLNNubHlyyOa6qxz9IWaTss6lKc1Zlu6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3010872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwpJMCRA9TVsSAnZWagAAbZIP/0aVyfoYTB1knwhm2xly\naVzx5aI9XkG/ocpMEkvFJUkFjiaus9+WaxixlNrLLM8dK7I64tUBkUmB191u\n1DGR9bq5UcJzmsKhxon+23vz7W27YBENonu8OgVXimlKYtF9pKLPk3ygcOiG\nUqrapLyrO5KcDzjn+5g1JvYG2Cvervj9059SjZzx8x1dDqoylyaSwwGP7hB4\n3dQlFHMXWvaXXoSRB6G0i2E10zuffJXiMS54RAO3OodhdEYGpsmG08sPEWw0\nd5L9B3/1e8L2RmktB6Zom1KCEqkSy91XEEu4FNpWUiqJYuwka9y7ecYDI22J\nY3NUVoC3uLQySFFofBRwEukxBNWj0I5W94R68qE6l+K145RYLNR4xUA2riAa\nYUTehDo95H2ZhPC2DhkGhCKvk+Xa5rc42iTwRUGfw4nndsKpiLEgOXQNMRLx\n8X79lpyVp4eF6ahmeOlQvnN3KZJtbs64huneffPoHVnHIgn1AFMBFAPQt9hv\nTJH8Vft6FAAQ3ATKUrQCD5/tQ0v3w2US6QRpzu+ERfY9sojfFhmotQzFu65g\nOmfifABXs5zTqYXnV33RF0tneEf2Pl7Qkgse3anFRdTnYt5B2w4NDd9QRwRo\nGAspQZ+PxggVgTzwyw6QSUQwUvE/gMQgdDIED50oT8HI0UndrkWcYo4KfSqY\nuCoC\r\n=UMU3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","_npmVersion":"6.12.0","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@atlas-engine/iam.contracts":"^0.0.1","@essential-projects/errors_ts":"^1.4.0","@essential-projects/http_contracts":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@essential-projects/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.0.1_1573032524374_0.5171786442125026","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@atlas-engine/iam","version":"0.1.0","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.1.0","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"contributors":[{"name":"Christoph Gnip","email":"christoph.gnip@5minds.de"},{"name":"Robin Lenz","email":"robin.lenz@5minds.de"},{"name":"Sebastian Meier","email":"sebastian.meier@5minds.de"}],"dist":{"shasum":"08fa59b3585098a53bc2787f1d9a6acff77fd13d","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.1.0.tgz","fileCount":32,"integrity":"sha512-A0PXOyhFlGSeIrmV+6+Q12Ri1vYwT6LecTylRGPeH049b92KtpHdZGiVy6k8dshEqq69udDTsxr4+uVJiGqoIg==","signatures":[{"sig":"MEYCIQCRNohZZ5oI+O4PFzWiFSesbkHuXldZF9b4sl/APzgYSwIhALC3ktODjif8C3NWtFWDTJfSPl/FOaCCkPJJXE/eZVJP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2957077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwteECRA9TVsSAnZWagAAs5cP/3vXUIVLYP8e9eDn7ffI\n8sjGty2iOWZ0GlklYD4A24heZuemhdTRQNSJvaHrEzcGuP8boYRUzRuz4Bde\nLyny+zk9iBSyS3YLAukqmAWoBRAvZ3nzWLXDi2m2ZJ5g0DnmMyea2ARfrGfb\nt3Zg8aanNvfIhExmzR+O3ExjWmJB0LuDWNRcXjyqL1lwOkWHdaFy2MIerfOk\np+NhoUI/S9lhexSQJ1o6WYl8N+9VIzQN2ifVe4kDN0MDJd048KMlABpve8Cn\nUUKp9c5vy5nCQ1VKJMb5NnDOMxOmysK5iN6d6ALG6hWyGmCYX+U1JgvVLIxC\n+au5UnfDtUOSnDjc6CudMRKM/VJUlbqECTO/xLsQXkJ4wsHgh7XiFW0GbZCt\nQlqoq+WIjr05HrldDFvMh1v4oIxQWqlZAjlQ8/T8VCyI2YzISATiySlJZ8zs\n2Z/YuM1kpZVjU34LHmL8YdQuRWTlZp8vFsY1KxZhTqfxvqfRB5FFNfLWJvbi\nBDeY81dFK3oaS+A9eBlkgTlF96McZ4zjkPbg+z5waeLMtTSEjjfSzpDFl45K\nPiXnBeW1mKMwXZPzBwKP+EdMFFQLVJo71c2iPtYCPjLK5WgVQahqIk2LxxJi\nFVMl8H5vBHPT2untv7Xgxs3yIKZA1mjZaHhPBs3xYI43+BpoDT6SJuFVbmQU\nNhTo\r\n=gRQf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","_npmVersion":"6.12.0","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@atlas-engine/iam.contracts":"^0.1.0","@essential-projects/errors_ts":"^1.4.0","@essential-projects/http_contracts":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@essential-projects/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.1.0_1573050243718_0.24516729507211177","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@atlas-engine/iam","version":"0.1.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.1.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"contributors":[{"name":"Christoph Gnip","email":"christoph.gnip@5minds.de"},{"name":"Robin Lenz","email":"robin.lenz@5minds.de"},{"name":"Sebastian Meier","email":"sebastian.meier@5minds.de"}],"dist":{"shasum":"e7f3dfe28b71454ecb611e0fc342eb5448ecefb6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.1.1.tgz","fileCount":29,"integrity":"sha512-LIqcS16QxH4BgoBBHNBNso3MCq7Owa8u+9GIufyv07fuLQasoJ5Zem3gcfCQKvNH8diMQCbFNvzfIO9iYsWouA==","signatures":[{"sig":"MEQCIFQrMg4ekKsaPl+OHDQG92eje61sC9lbpLaI2yn3P53BAiBhyNfUlrSP5ZjZgZfEhQTnFzSeMqWJT4YJFjWdtgL2tA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzADtCRA9TVsSAnZWagAAvoMP/RGuqPjAi6VGplfWyNa5\nJb2Ap9X59Xpo/id1nPGCstAA2Ne1w2diOGNIKgdQ5XiIC7As3jiTMB5/ItY5\nC5DgR7rWZal30tcTCma0dysP5H31DwC9De6njSVy4T2AMuzvN4B7ZKgF/J15\n2f3a309nL82gFFjkl8srKcFZVhZhaVCil9TOxfa4W6w+E/2QbPWw1Wij8mwT\nKqVbC0gXlbekO68yrwt5L4qXGBsNHMDZbuX62f31QUZ7yC30Lu+DkxDNjwRJ\n5AK0DH5bSoRBAO/Q6hs65/Sv8205z3DM40lWLwZ5LP5wGe+iPlW9Iq3CYaKA\nMC2duz+WNTXll4A/0gQgPxV01Txa1pPkmZsycHePJQjrUpYDIzCSdExD8otr\n4dUuUwp8+C21CqaCJLR4PNMJNgtqfftwTAyIEEWOFvBrmbNebotVvoHyE6jB\nZorXuPnRlYh+lBro14JsQOxaB8+JNizdXMeHuePugOCmNZ/5ag5RGtU0Oi9j\n0lpFxkmmW/wNCXttb8f0UCjTLqA4OsO12UAbRC2759XdWee9sarFxYqkv6sC\nVYAQdtMye6FCrd/uQQmF46GrV6PGudUaPp4jlczGeI0n82B3hyZS/K9El4Qv\nZ3kmDrJwM5VeVQO2LGBaGA2xz+EK6+UgJ7AIQf+Veeb7/JJ8AI9SGG6f3r/y\nAuAT\r\n=f+pb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","_npmVersion":"6.12.0","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@essential-projects/http":"^2.4.2","@atlas-engine/iam.contracts":"^0.1.0","@essential-projects/errors_ts":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@essential-projects/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.1.1_1573650669484_0.2759806482814837","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@atlas-engine/iam","version":"0.1.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.1.2","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"contributors":[{"name":"Christoph Gnip","email":"christoph.gnip@5minds.de"},{"name":"Robin Lenz","email":"robin.lenz@5minds.de"},{"name":"Sebastian Meier","email":"sebastian.meier@5minds.de"}],"dist":{"shasum":"073138ca4edc9511b0fa5eb67c0e4c631e059a3b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.1.2.tgz","fileCount":29,"integrity":"sha512-ypJYG4/VEOXMC+XJxbWciZ4CslVX6NNWoBHN5Fiec9uSHQcuNOYP2PNNKoWHdl0vjq9vUIX9yd9fRl4t5rN5Yw==","signatures":[{"sig":"MEQCIErd89sXaKQLtjhkNZnJ86IXkly7wdGjyj218I94Snd8AiBn/d4Zhpf8KkMVa+OzT8+QYox/xKtzvbxO86Lj8OEK/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0q5uCRA9TVsSAnZWagAAXrwQAJWUE0O0lw4jufPjURR/\nyrScoBfII90/DNfb++24xW6A+uG729D7RzHPJXCT87uUv3iGQU9U3DAwgKx4\njbc0QYg0VLJ1dVnvfgZUfF9Io20puytnqukjPIytKH9LYrUr44hxKpl8dzut\nqX3Xx0XhbUnGgj1b/jMA5emAYX4+BOfF7Bc0v6RR1EMDxZ0dfC4E72dLiqU0\nWfFdaY8AWJVhRmgfTTS+avcOYpHqHdQjvSwwv92u3PtttGWmMzW5CfZiPxUx\nvuGVUldU+XTJn+AwAB2tTdSDTulEdZcer+q2LpJgocYvjl7Sk5dznuhJogof\nKgEEziCNr0Tyf2fiLHjvnt+3WjgIoLkzuuNOUyEceH1+T7UIEi3GSB1Trufq\nXohtPteCvHtMg0RzzvhNX2OfeBs44lASJTpYUa7VaZH4JfeNNQc4+rXp1XgX\npxgo0OGrYuFc0KIlvWo039osCxsRZWg8ydNlhu4VyLYZMWL+dFqxculzPiJy\nAaCH+68id2tyAeHyJ31srI0e4MwxndbwfyivDBPi9VTaolbfZlMrUrLtiYR2\n7jP5GwZq9ZBLGdF2x7E+l8UxhG3wsyWZXB0YeiHwUsRfX06sjfsAbdP+oZIN\nt/chYqB7x1YFF3Rivc06oq8yMdQm34tcyuWUUkAYqm7a7VWrjrs1saaPfgqD\nmy6N\r\n=QTTW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","_npmVersion":"6.12.0","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@essential-projects/http":"^2.4.2","@atlas-engine/iam.contracts":"^0.1.0","@essential-projects/errors_ts":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@essential-projects/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.1.2_1574088301721_0.7124418194476982","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@atlas-engine/iam","version":"0.1.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.1.3","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"contributors":[{"name":"Christoph Gnip","email":"christoph.gnip@5minds.de"},{"name":"Robin Lenz","email":"robin.lenz@5minds.de"},{"name":"Sebastian Meier","email":"sebastian.meier@5minds.de"}],"dist":{"shasum":"c4eed15eb251165fc27ff903b00a3a944abcebf2","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.1.3.tgz","fileCount":29,"integrity":"sha512-eKffttSU+UVCJxAgpl1SNuwxWDH0M8dz2H5tlmDeOHdIF0pP/IzH+DDZ3bTGpWfLa2ZlFZ623HW88Wg0KP1xwQ==","signatures":[{"sig":"MEYCIQCpZeo0giC0g7kch8f2ZO84lI2bOkMquSUDovsoJeRfSQIhAJWBo7jC9BtadEs94sd6eRZ00NZQRrxNsQxK7Hrvd7CJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2/ClCRA9TVsSAnZWagAAbtwP/RRfOgLRZIiA/daiZfjH\nJ4xTUAxWaVyhmxPrx0+lKHsVe/+R6vNHLiunLXdQD5PZWaG5GjjH/a1x2+GA\nyXNO4eyjFsM5WmBYZ6hm9gB6E2+VLmqlNDQvIjlLzTh18EixQlmW4yzch9KF\nkK3WYIHxEmECVksmdQQVAehDRE8Ia8VSPAdQdHpwD4+mDE4QGs1Bunp807+c\nH0LEqk4UkGJcJPfGz5aRaGHLME6lmDIHznJv7ADDACg4LGbJWxrz5OD9RSLa\nBOQAgeahkynqdO1GlZF5FXijrC2Tw7ctkSmh3ahrLTXY9+9+u/Cq1KMuUHTD\nkzO3tJAcIiA1qyRUrrO3mYbqVGeZMQQqYxI64fU1RTDJ6aaR4kgVBsMdiQkR\nPSeiZcwwfc6IqnYk6IsbpbIEUgTDg0M+tXhFE/X/H0/9MzsG+X3RgO5do622\nxb4ZZi7j3zpo6Y3bsdULOdwmXRjfC2sQlz3RTsOmgQPop+xUcQEIV78y0PqZ\nKMZHeuHJYCGukzTfQb4N7936aLfgnoXed/TDu3rNR7E0+FUXSHfr/AcXQvrP\n5zbW9Ls01envu0bsie7hUS5r7BKmfOMAZAgTQttqAkyI2spgBBQpG09QP9S+\nrXR5l+dEJTli3v/h95OukdByc54lNC1FNcTajsuNu83ms5sU9ri67dtZ3rPz\nHuWJ\r\n=g5uT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","_npmVersion":"6.13.0","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@essential-projects/http":"^2.4.2","@atlas-engine/iam.contracts":"^0.1.0","@essential-projects/errors_ts":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@essential-projects/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.1.3_1574695077027_0.9056386645038859","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@atlas-engine/iam","version":"0.1.4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.1.4","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"contributors":[{"name":"Christoph Gnip","email":"christoph.gnip@5minds.de"},{"name":"Robin Lenz","email":"robin.lenz@5minds.de"},{"name":"Sebastian Meier","email":"sebastian.meier@5minds.de"}],"dist":{"shasum":"a4cf66f5e23b4c1b17f4890e7029fabecbc75fc7","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.1.4.tgz","fileCount":29,"integrity":"sha512-P/bJglzarf6iDRcgibQ3BSi/dOIsgE/CF4zmQJGQFkwvTFbGSHduySeN3RX5bqtSCYkTJ9UkvD9p9SUhvtLK+A==","signatures":[{"sig":"MEUCIHvhYJT2H5ckplt9xPDi2VrLU8RVvcyYDCm/d52Hw0P7AiEAglHvWvv62NE9WNzrDqRzWJ9BaWEmo4r0Xv7BkrBxPfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3qw4CRA9TVsSAnZWagAA1NYP/3svLAW91R88oh0rcHx/\n0K4PAwv4Az4FhP2NniwQYPpxkaZSk00u7h+keyToEcK8boBlsyy3YD6xbkRI\n/wrP1qtBfTV08cLBpQfPoT7nN//0QtFLVNIjuGu+lRX08G2wAyhd18PvZJCI\nq+y6mmSybU98v1O58hNz7TBTCq3xtT5pnwmKL3AV2FJjTz846w/XMvi/Hw6c\nv1R5FDC1boASQvnWGKjUqsEE5P+oCxEVBcZmg24jPhrXupCLkhcwFV6ijNXJ\ngOiTF/VipHGhB7rbw5HM7b4V/F+ABqeszV3cWYuaDABXmVt/+8guhFSpIZYV\nxvxtiAw+T2PPmF0VT3Y5cqIDSkx1R9bG1+g+muz7ilg5ujVp4hpvGebeAlAF\ntRk7cQISyV0jyiUHht1mo+9UmS1ns14OrAomV0B3DG89aYLnwANHQkM4sHfG\n1wr0w9JSdS5Yut22SmNJXjBk1PJIV9eAEo+pIE11pj7vra093bLN0CsslANV\n8pjLMoofEs9l5lnDsq18oFjIfQmJs8xSyctHqWAZn9b5Y9EuthLJ57NvoNtr\nRYxY6i8bux9CB2DGtHM+k8fug+Fn9I1zGRDVEC/w69wSc04AMKE8CIh9D395\nNZOlgOPyEjTKemxIDV6/4d7IhPBYr+QyviP5JCCmgWcloxMqNrUnEn5KQI/K\nxkGs\r\n=GK3x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","_npmVersion":"6.13.1","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@essential-projects/http":"^2.4.2","@atlas-engine/iam.contracts":"^0.1.0","@essential-projects/errors_ts":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@essential-projects/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.1.4_1574874167506_0.21465039260705177","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@atlas-engine/iam","version":"0.2.0","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.0","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"homepage":"https://github.com/atlas-engine/AtlasEngine.CrossDomainTools#readme","bugs":{"url":"https://github.com/atlas-engine/AtlasEngine.CrossDomainTools/issues"},"dist":{"shasum":"334f2dfde60ce99fa6f7d8173de17a092fccf32d","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.0.tgz","fileCount":30,"integrity":"sha512-CabHs0yP8c1+1wJwAh5eVPsQvclCGdKFKQjGXq2tKEHziSDoFzDXNxDj/5c+bAdxfZ0d3li3ZWEbMEQgzNK0nA==","signatures":[{"sig":"MEQCIGK65u2uGv2IzGK08L6RLh5FHtorCJKhqo2ChSkSGQo2AiAxZKqOaN+2aryDX7DdcEph++Dvi/NjHOs6RJYbDxM70w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8PotCRA9TVsSAnZWagAABtQP/RE7h31OymZ2sU1rVCYG\npeK0pPN8jyR0XKjmdAPI8NW8mKbg/gnOSO3xs1e3npn+azgKKqnzwpVVwGOa\nWYxuc0GGQeqW8EfO1Du59RNv46g4WFcwY0FNXsq/97j4DCmoMxRI60YbqkI6\naoZ4EBUjl5dIMG/JsvXRM5Ff7rRPwNzF1Egx64mbusknwveXYouirbdhFRSQ\nEAKVVVsKFcOKhO8Jc8BUFfQHNfZBhlzEW/NUTDdB8nqeh7+xA/qB4tAZ4WMG\nweb/gx2igEh6rwc8HeUKbTnXSJ3GvAmA7qCjb1HJLN1Z9Qy8wJ8cqh9QBRKx\nUQB4KHCUC5VshN9h6/P/6hQbRixfzheYGPK95coAD6gHL47sh4KONY2/v7Iz\ni+OAJgfGRsiATrXdL63lmRC+SoRR2Bcl2fOsjqo9G8Ddqp94exkanbBmmNHE\nqab4IceE4hUxFtm5HcMTDpiyeG9Z5v/nCWr+c5DczhGwGiYqGKLWCVAc6vTS\nUqsEuTJJMW3sThkrb6oGTHKDOIlvy3XIMQclKBZeOv7+Jtl2OniMcQug4w6h\nGT5OyZHi2+6BHKKyonZWpOzlhxvZccseTfX7JDXnixe2OJORBiBkALIYjNzk\npLHkyJy+UWdpkQSaooB1KC6Mdh9hGtT3wGuJKxgBtztMhdppOxlfs9X+Im3T\nw5t4\r\n=GYm2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"6ef4afbe4caa6a4a42b89f530ef87b33cb455f89","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/AtlasEngine.CrossDomainTools.git","type":"git"},"_npmVersion":"6.13.1","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@essential-projects/http":"^2.4.2","@atlas-engine/iam.contracts":"^0.1.0","@essential-projects/errors_ts":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@essential-projects/eslint-config":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.0_1576073772577_0.08277376932275526","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@atlas-engine/iam","version":"0.2.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"84febf1c58776347c6d87132886c7f10417535d8","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.1.tgz","fileCount":30,"integrity":"sha512-oJmOsNHg6VoAzYZE7+xkjau6kx3hs90cxIsaXgMrvMERSPGhUxPEy1Ll3k/aJj07drJGxDBlP95EuN/G7M3AEw==","signatures":[{"sig":"MEQCIAE7wfG0H+N6Ej+2mnPEzdXVlWofyt5YmflzNuy9er4SAiA+oIA7yG8k0e1pnuQkFc1xUWerodQ/66AySk47WyREbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8kWJCRA9TVsSAnZWagAAyIIP/RFg+cg48JGdVkd+S5oN\nNyt0+nKoSK9JalUUj6vkv7uusvNKxyM54iTrS3clapXy0tCuNmMDAuGerghw\nQYHESiweo5fJQr1JTAFwzT1PJPaoapkLMHJq0unndlcLrCcBZy+hsDgVd3+k\nCluOuGkFdEXONePJOWRxIknty1nivNH3DNfaM6+WYlhXgFOomogU6MD5Zdj4\nkShdpDoh8SWOV5oswcvMne42IHbZGeTFFPGXyaiX6yv8hMuckczNyxvKVKLW\nRSaAVnDwSsId0JG1bUHJIkxl3tfOsR0wuLGjNRHvYXSJ52MV85MeA9fibQyW\n73e9bpIyQwmANFnlF7+xxy34Dekx1DFnOvRDDa9qdlCuWSIJ0TlLFinHO6WS\nU/IH9gggF9LJ6lgaq9/GdKgkJu8LeDnwIxmkxUR7G1hso9AjFz3OrnG5CvL9\ndedV4UvNX7i+Exjy7O4ZiMDcINt9Ukx5NjrkTpvvfksa8SePjd+3WvwoJ7Ij\ndXPPlUz6fCeAQ0UFUjahhKNP5/zaO+n4oXqG7R9psiBN9nbY/ekRTEyTlqTP\ne87uCHT4YQIP31/br9YSINQ0iMnIvjBNC7Ra8lopWPu4Mf1w721dSw1y/aof\njNuzx//tLa6jqaghZdvpQe1395AWp71g7arOkv61Y3mN8OlfFboYBMgRGn93\nZ0n/\r\n=C93+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"06d37d632863beabf06dcade7c15f0e2767dfffd","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.1","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.1_1576158600999_0.09138158551807596","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@atlas-engine/iam","version":"0.2.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"0bfa24cc55c1806b4a1efc247566a782cc659d52","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2.tgz","fileCount":30,"integrity":"sha512-IIp6YBx9IrUBktawIfhs2y6EsZDYSrYReC8KjNg/PPqjmMxHoJsM0JKPTtFNKuKY0/9+QYo80S0Rl9ZHenmTUA==","signatures":[{"sig":"MEQCIDM3miO0BxBOWDccJLBeVCb1c5G67fNGn64cEA7VwLVcAiBVBwwmoII7g1OOBPsa0jaAakIIEErZjZuJfrmVwyKcsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWNr5CRA9TVsSAnZWagAAHGkQAKSGf0Ro5vgyxzKtJDIH\nstecj47Dnt7Vz5E63bUL08ieU9mH4fVPXPY9ll+5sThVfCnT8E+JCyYwpeNx\nrK3flte9dkIQUbwE3lKfxlTwEdopiKUwZi7NYH7YmY8JlDDKsXMixRR0JJoH\nbGMdiekF6BMD9L3vkWyDktypibJktB9joZCZ9EQFZtzV4xiUqJ0ZiA4pAI5n\nL1nJjM4mv+yOGW7+BNl4yrcuYUZiFVxbDqvIGIYck+O2j8eIJeI8d6jhE2CH\npNBfqH9/FRAYcvjvJS7+b/MEPP1D3eVbg/6mXqoE8hHrNvuxSuZlVILBSwFE\np9mMnKEELjWvUdNQamODgRYbv8opuvpImHdlb4R5EtgPU8xuGiKxdULU4W5M\nwgV+rKJcjZRFdO2B8Fx0cy8341yrAmu/Aztp9kOimUPffxDgW6NeOSy6wXBV\ngeZj3MF15RGyL2II+Q3wYSuIEkf7VT8+yL8n+M02OtNCUodCI2eQO+R5ISn7\nWDDHk9tENAk3BIcBO7mD10Fd6pqz2dbzWQkk8HfCOzlwCGjtmEdKGHzBB27y\nRS9HC8xhnk7c1BWgOTeiKCVz8QXrBpcIptMA97QyvSvkheMWXUc2jEaUBgdZ\n4uGihKQWBKuGKnUQTLbAk6f11ZVSwLAF86JZgEmPT1wlX9xol/IK+r81bWZB\nml2N\r\n=K4E0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"fa223545ee2e35058a3c3c61dbf68c95038cdeb0","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.1","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^5.0.1","mocha":"^6.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^2.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2_1582881529536_0.3219161410237863","host":"s3://npm-registry-packages"}},"0.2.2-feature-fb15b0-k7ei1n9y":{"name":"@atlas-engine/iam","version":"0.2.2-feature-fb15b0-k7ei1n9y","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-fb15b0-k7ei1n9y","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"3490e91a26c3972dfa650b4c76bc446fce5e78ec","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-fb15b0-k7ei1n9y.tgz","fileCount":30,"integrity":"sha512-HUxf2SJxir0zpoNXTDhfJPEIxJITFrG/eJrwjO9g6SDwXo4SAfLDXNL/n1aJClxTCKAoS6aFMkFa8QvmzI1WJQ==","signatures":[{"sig":"MEUCIQCIidx3sdBoMd1VaRwyNeHMBJbY+Fe9ENQu7AgSF0knYwIgKV3ky/o09YAV27er5iKLnkmalzG6fVXUE5mK0oQpDuE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYLrwCRA9TVsSAnZWagAAEQYP/2AzscUtynHjKRiz6Tbo\nqS4OvpwPIpRthiLY1Zb2CC7X2pywsGvKKTTVUsRhQvdQblInEjd8ltjg19bj\njC0X60dvvjbt7S5mPyA2nu3cfDETJmLJzLSomYtXvT2NsjYxgIcF878VjUB6\n/p6OOBKAO0uH1Hhls+bmq4Ln9HbNXrIqVpuZhNCAsmf4QFEjmYtLaccGfgOz\n3XwORFlsV2W+CBaM4NwuAYn04Naw+ejFVjH1vkZnzApAS+8ubPDVSuiUh+6p\nY6+LHlB1Kl+LlWGeFKb2arc99ciq6Vs15xefM0SU5D8Mjf1P0jddSTXeCvjM\nlLJy03JpyxaP/CFCpazZP5XOZ/gT5Ngv+i2FfW0gBmjAJY1W0Kj8ny+PqhTl\nDmJmAQn9JgEp5+a7HPTgggCqijJGcyjAvVqsujvX5rSKa2o7mVRB+B7+gyoO\nBpVQ9js31uISrjIz6Jyk1QVJRYVWK3aowjLztYliJWhxcEE70JGsqN2PzemJ\n07Sh8KIhGhh9gCkAyNdRG+25Z1Z2RiWz/39vhon2O/+sNX1s8FyJ3qQDMBdB\nbG07hY8x8uV6Py7PhGEscbzDTSdbmacYfvGA8ADFfUxmfH3npDeKL6rkptGe\nGzVg8LoE8ZIpCJZrG4JIsoeOIp0VmsiDD62OTViv+NdWUrNYD93QTZdtlSzG\n7yqB\r\n=tAjK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst iamService: IIAMService = new IAMService(new HttpClient(), identityService, this.config.introspectPath);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"fb15b05ad24c3f669189af4a81f9dbaceb58ff70","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-fb15b0-k7ei1n9y_1583397615642_0.004092337771036458","host":"s3://npm-registry-packages"}},"0.2.2-feature-0fb6ba-k7eyuj4f":{"name":"@atlas-engine/iam","version":"0.2.2-feature-0fb6ba-k7eyuj4f","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-0fb6ba-k7eyuj4f","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"bcbcc9e1e5877693672903a63635ac44bb12050c","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-0fb6ba-k7eyuj4f.tgz","fileCount":30,"integrity":"sha512-ORalip9pcjAs00Yo9xXyHoWsrG1H/IN1ur+O1yTHfc20DiZiJ/XeB+B9cORoStVDmE+cXMkTr9P5BdKuNyATfQ==","signatures":[{"sig":"MEYCIQCZR+hwZT1xGyMFnhsrrOA6LlAEkx/l6miPO56r6ea0vAIhALWyd7Q9nhtPVVI8QYkU0CFt2aQQfHRta0bWqKUVjvO9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYSksCRA9TVsSAnZWagAA+t8QAIY6wyz1ATpeXHcYZ1Pd\nqV2qmJN8p2l4e4z9pehcffu2iwlWEUNbNXsKW/srj5qPNCky855cJJdla+TY\nn2A51GRqyyf+3hz8JMAPBZgSjXZogc9fJ18oV3+EQEOsbowWsX4V57iM8inl\nOr4Udu2wxb1/daGTPLIluAPrOpjU1HH4smjo0OcKltTtuF7mheh8EbAzVEW1\n6RT+s+4npB5qIrUMPgAn20iANtiBLjMpsls4A7RvukXMasah07cpKoLkXYq2\nyOvsjHijyC67pY4xT2sDmfT+9PyUpi8jSIZ1D3usVUn0r6mz12zSGIpMIZMi\n5LJ+Fk3m0T2XSwsmyXvocvU3En6de9nOIzMBwZ2i3gTKMFfhtv2gvrSQaUj8\nrYf65bufGT7OTabr8lgJM1rtSq7xUGjUezf2fPTS61veYXWznbxllMkI+wjl\n96OC0cuC+0q9oSSO1IOfgaqESYzsW3mKeF7X2245xAKz4tHgvZzmoUJakRJ6\nHBlCWE+wz3ZcVotRE2mABG9Fp5vlK+U58LHxjZtxGSuNcJi2mbT98jRlum8h\nW3fYDtqosTQFNCZjKWn2xQHMTNHWuWkhJNOLG/aGpI1DOnjqrJrOodATIDNE\nUc618hY0slzOjO/EvNPg/zwSD1lixCDvlmxXX7ZtGZArnB8/EVp2jdxwABIb\nNAdC\r\n=TGad\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst iamService: IIAMService = new IAMService(new HttpClient(), identityService, this.config.introspectPath);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"0fb6ba50fc5656a58fa907eae8a6cf6bb8d168a8","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-0fb6ba-k7eyuj4f_1583425835662_0.7748061552781589","host":"s3://npm-registry-packages"}},"0.2.2-feature-ed3f96-k7fvc6zh":{"name":"@atlas-engine/iam","version":"0.2.2-feature-ed3f96-k7fvc6zh","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-ed3f96-k7fvc6zh","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"90bf193798f5f48d99b0813fe1946d3dec675605","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-ed3f96-k7fvc6zh.tgz","fileCount":30,"integrity":"sha512-SqxN/9JU8BE/T/3aVlfcLPy4Iqa2vC++FLpFbEAxo+Dnwa5VC7WPTcV22v0J7LR2bC6lP1Y7yYpcPMa9sZUNzg==","signatures":[{"sig":"MEYCIQDEWVtHD++4kXxEuDnL1iQTlYSuz3eLzsElsOfuwJ9LYgIhANjO7bLcqVDgrYY4f1OQcedJen9yMLDHcYi5qr23zTtY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYf5UCRA9TVsSAnZWagAABQAP/0iqxJunZzuTwwAXh+5c\nofPHzzZrpQwYreTSVv0EbIme+eAL+O7hVOMIVFhKETOB7/lchMKYJsKSvgeX\nrv2CWLZcAoiXc3zK1eRFlFFx/9mKQHGRK90GLj2RqyQoVZ0jhuzO3eR9lL3x\n8DAJnfi9AKbsanF0z8zEnKLSwWcw2ohsSFFcQr4tsDy4IwyLS0fByWwkcjiZ\nV5UHei4jdnFpZutm7gJOkbqvinPnAubIqwhjnIEMikmwkS9eE3mXrDlMXX2q\ngP8yFWxLlQHi2Tw5CxnoxEjlZ7wNo6FTTzTx0i8r1TslwUT+4uRQBBtpycWm\nKJPM5fkLpzmNE0di9DtzTO9+WaWzCsWH2VNMAwGYNXwSakFDDgCBttXVlsfW\nyLG8QWE4HcPUednXw51l79WuiVfBsU2sXVm3u62tkq/dLrbaxpmfeqtpiJFF\ndmaIrbHfWNa+J7yaa2Y3aRXxXWNtEsJgge3OxtBOAnekotRm5TbymX08stNi\nG4dDfGX8Rfls+nuNkonGMlCWKOQmLQzkOwyEVwgBYsjeo6WbfAmyS58+V4NY\nWTOqZc9L14Y9Buo+DtlLoGYZ9JD3cGGCspJHxouN+GrzD//YYZDOkAQXDDez\nii8R4/yd7ze2oWBZ6qpDPcurG91y5FoSnUofbJDCs8TBEv1XJOGGzfg6lQcX\nBcAg\r\n=cGKo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"ed3f96940e5a1b562cdb92df156ec87818413686","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-ed3f96-k7fvc6zh_1583480404531_0.8947476669876018","host":"s3://npm-registry-packages"}},"0.2.2-feature-3b863d-k7k7x73w":{"name":"@atlas-engine/iam","version":"0.2.2-feature-3b863d-k7k7x73w","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-3b863d-k7k7x73w","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"009cf02924fbab06f0a0b34f850c8c1ff136e4ff","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-3b863d-k7k7x73w.tgz","fileCount":30,"integrity":"sha512-aUF00wZpbFNOufdglXTq5mVm6OBMIS4Zzn8O0+yYsfxJu4VwPzDsW5JJq4mM09HQm492VfPUpQ+QCUjAZjBOCQ==","signatures":[{"sig":"MEUCIDt1rxMlkcFxSeXs5EuyJ5iJOVrbIn+FxkcqSI0zbW9uAiEAuDmKvBWN+St4orKBTBS32N8Tf+mBwbTdSmEjywaBoP0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZgGyCRA9TVsSAnZWagAAymwP/j78VJ2k+e1E3Wpyx4Pr\nnnO6l3siTjBC4B5czF1IZlpSQzqeUnXwmWgmg0hKatzvki7RR48pGAdS2D2d\nGZ9u83HUXs1MsPVz2IpatZJ5KRqzsIX1yZOTaWSlTFLRRVXZzmOzj8ivkpbt\nvfscetMX0D+8eLLIfKDGbrqzSZ5pc+6606JiahmoCkY/Eg0KmVCazOMMWZl0\nsTTwDduOPo9WgEKgOLTDCPuV/UFw8Fbs+Ek0BwpDmY/IRiGSXnegVDiXI7Kl\nY/tdU9tKhpHF5GdDXGqWKJvtVmx5EcnYT43QTS26OOCw1F+ci/tbin98YT3L\nSdFdmtdJcpw8PlFcWJ5BvbgLwZvfZeuf5HQVNvVcxxlpQEaDMYKkdgQBOBA8\nUKtYvOpVPv0MH9bzbAXy7fEaoJdsAvfDNP8HZN7xL+M4KvPYPmZ6cbghbij5\nm5iUl7XfbCYZDsBsws5JpFz/AkcpQM+T92VwOEQ1TG0mp3h9g0oqDvQ5nyjo\n1GXCHgxGPNGaev5k7GAko2gl1chKPpToReMYofB2bE2ZcnW9J2AQvgEBnEhK\n6BaNItvsRkiGA/BS6OzzxO6h1Kjzwx3mHACZj8R9lofJvjFGink7dxSSNhkZ\nNoWPfrvLAYJEX4szqtIlaDXhQMb3V8ZiqvuljYZ+CaXFKmijUvFl8MuhDddM\nBDZi\r\n=wekp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"3b863d7eab4e9cc362e82e71e90325d05155758c","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-3b863d-k7k7x73w_1583743409774_0.49888663189699667","host":"s3://npm-registry-packages"}},"0.2.2-feature-a7f18e-k7kdeppp":{"name":"@atlas-engine/iam","version":"0.2.2-feature-a7f18e-k7kdeppp","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-a7f18e-k7kdeppp","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"6b741daaa17728199f01fcb27946633a931c6dc0","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-a7f18e-k7kdeppp.tgz","fileCount":30,"integrity":"sha512-sDRgBMA/vc2818KU44hdrHkxoYpMDAR9aI+CGHlqzCf4CzPceTvWw+WGVby5F8DIYr9ziyeGnU7f5rX3osSO7A==","signatures":[{"sig":"MEUCIEt0JC9G3x0kPUPtVcZ8vrZK3On0Y+QccAH9eI3FUrD4AiEA48GuXkh5FJV54ebYz0QA74liIY6rHzYWun1i5c/GkZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZiWuCRA9TVsSAnZWagAAfjIP/jUywn92wlPaf5/NRczs\n1keqH2cY9yq1ouf+k/CuTRfCi5a8d+a1wEkE0scGsf/PGixZ9FBK6s9/dJzf\nyhPH2mv3JYxDKKRF5eaDmQTm5Bh8T9KwK/ymNW1DYWpthUPlpPtXOqnUup0v\nSv4iQOXVS2ig5KG3L1ZjocjkVs7MfVIge0VuOonbTlS1j5EbNwl1JWvXFKSy\nnyEH0Bgvlidly/zIJYcOV3pv7d1ehS1DSWXmAIiSE4+9Ts3+sJJp9L5pSfaV\nkKX5N8qphnd8MEoPXltmFQKmHDKDIpjBljjR89sNRogrbMvMq8ywzBEAh2Rp\ntoUVSZA7GI+RUZK4SYQx3a/QdMj5hXgvW2XjE9hVFZvHSdAUdoj0OnveSwdl\nTqnGALlrEf/9H/r0O/d3FwJJY4A2m6GRtg03HogAcT1b0Ew290SOLmtlGgpi\nGXKAbXlvBsZpE1bLRbcdhfdKq9Jhqlhe+N0uWLtJ+cMOT/zI/tcht3NIdAxF\nvxBCvGcyasfhrppoUXPp4sCFQ8VGVhCLFxa4ry+tbEL1ZkYJtU9KUSEYYL0Q\n1g0WmjDDj3Tn2cZDxTs60EBMQbttgdMOQeLXLHHKCzMlLwP9VWewaJzRFoWY\nKYHXHz/bMaC/xLH0HcOmt82yRK/uR4xNRsNl72hwf131xDejcqFH/E2TVV01\nOF8s\r\n=dnRE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"a7f18e6965308e32fd8dbdb107a27f0c4752a1e5","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-a7f18e-k7kdeppp_1583752622006_0.3271715694363484","host":"s3://npm-registry-packages"}},"0.2.2-feature-e25086-k7ke5aho":{"name":"@atlas-engine/iam","version":"0.2.2-feature-e25086-k7ke5aho","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-e25086-k7ke5aho","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"28cacba839c26656df7e58309f1e9c85e0a06fb9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-e25086-k7ke5aho.tgz","fileCount":30,"integrity":"sha512-04/cl+kOohm1VAmOnZ3S9XXiqaMUXaghmaVJe7hh8Z9gM2Y1Qsm3oTMRPpIZcam3sEYR6gY56y90j31fCX7QLw==","signatures":[{"sig":"MEQCIE5i6hYkp0bKWpc/22LWR5ED9tU0tUPMNm0xaJgwR4I3AiAZ/+3M0pH7XODRfmu2KbEr3W2m9j46EHQYNTh81Veezw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZiqKCRA9TVsSAnZWagAAyQAP/0e+BsjJAGaEty9kQdUf\ncKYVzM+X+rQbTcDWfLK2YWQM0rF5FKQjYeiAZ+Rdf2oF91dEaV6r8ZFqH2Js\nf7fgk/OzTo1CMCyVv5wuvRRXrIaXm581DT+wcwqJqWcYWvcT2Zb0QSjLtG5J\na1UoN7TWixKBRtOLXr94dBXa3cPeKLcqCXSdT8Kp8+1l5uRHPlMckcOSL1Ry\nb3RuEperVdy7goYd0ap191s3PhzES/kvR4Y6y1PqdQoZNNMB0fBHWWTF6iLB\nlIF5p4cWCo6UmyyxNoUfdvd9bUfNAW87F8nTo/H4esNU0b+74se2Q2ACJsl3\nD9+iPX3fC2QTL/QN8T0pggOUFm/2oCxWYDXJgc4DSp7inAqf59Pfr+bRexS2\nJadC0nf2JaxOeD9ludS5QEfp+dNb+y1Ot+/yTKHpdTl0r4KYiNsOoN3iEAKg\nbeg5kRDovgryBsE/yo5NZ0sZcFroD1BT01Gtt9sXvWsjEfqVMuWvpU3FYBIV\nO76GOyGbTyD85bLRPeOnz5tOdguzxgReSt1mMFkaFnhgRA7nTLvfEgtdvCwM\nE+9aK1xBreaZ5mg0RbUp9ILAoYFTdInDipajMo5L09aZBDYgk8sIlJ0BuspP\nTyt1RZjzaM6CF2iCWt/Shtg0iXOw/PxKMyO8gbgjvLeawbFhxvXD5eKcxpOY\noLnh\r\n=Ktqg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"e250865daf5730fd050817c3b60c2b03ceb0d22d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-e25086-k7ke5aho_1583753865768_0.051230182516277756","host":"s3://npm-registry-packages"}},"0.2.2-feature-c338c2-k7keegag":{"name":"@atlas-engine/iam","version":"0.2.2-feature-c338c2-k7keegag","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-c338c2-k7keegag","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"b27f85cbfa97d6c5b4591d5d98ef3309efdff4a1","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-c338c2-k7keegag.tgz","fileCount":30,"integrity":"sha512-TPkHTedPRL9D1cXombUlKvl+NlKQI4pTf3C5B4Bw+V8djYNYBZ8xTX3zEA9uPgONZvdcpXJycHg7A0BDgB+RVw==","signatures":[{"sig":"MEQCIFHq3I3iD5qYSpvpoIl9KonJnbGuDEzQ4Jmk0zUBMASgAiBvqoDDa1DyiE2uItbdUrVku2FRVLpLOEnGL4i+llUVSw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZiw2CRA9TVsSAnZWagAA+J8QAIDg7AZQVgskLgOP6GTp\nmURHmTd8pEw86izxx3RL0naWWAt7ZR6KH0NEuqAp2HHz/TJYKJGVhSN3VUlv\n1BmmQenKjlUfPPOqeD2Wjp0sysqTUnvgHtzfkgUHYM1X2I+0DhK134GOr++o\n9/VD6/KueXImccrAptlyXZ40UnldNz0UQsW5sOP1D/PCSe04M9E6059ZlVtj\nbacbmE7YCKkrNGUeTyYafcJpo01h84iTW3JEoal2Umd90gSy4lePfYwX8qrM\nAjzIf2CE62u+cNNNSbXbitZ49UjlfS9+t17whKDupEJ5TucoBg2o9wWXjKX1\nCNVeQ46pGU+yzXAUuqfgB0pVvZBoPInjmcikbyqU0Fjv8l2U3vM643CCa6Io\nicPVomBEwkqN9UCRsNlMiTEjclNAt3jMvzHX2dXp52ZVZyB3XAMGmKh89X2Q\nr6ZXW/Ak9rFv8fshUbknhGaTYAFJwNo7qEmwSxQBFVXjr0d7p6zFrKf9clqy\nXLOOSiVN1AwqHyA0wxSt7H/slfi3F8oBNvH2D3cFTiJ1hS0t1MYFGDqQ+I5r\nDN7RfSvT7M20LETF3sakqF84pMQHDF2EUg/IPrmpKjFV4J/Ri81H2ugUXsW3\nK3Qm3kaE98z3y4UsCpjRCigqlj+XMSv/Ll3lArKzV+ar95QhYwq/8JLr1f4Q\nsM6q\r\n=+fgh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"c338c2e1ef20af9d60ef890b4995971b4d1f68c4","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-c338c2-k7keegag_1583754293557_0.4738549907392777","host":"s3://npm-registry-packages"}},"0.2.2-feature-f2b457-k7kegaho":{"name":"@atlas-engine/iam","version":"0.2.2-feature-f2b457-k7kegaho","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-f2b457-k7kegaho","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"aaccd5df3ada6fa0f611df5e231155e7aa8cbe1e","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-f2b457-k7kegaho.tgz","fileCount":30,"integrity":"sha512-oydtlLNtrk8ste8SdgjMK+FrNu99yGKgXPXzv9M1PlXhZ4/eaWnyZjVXVx2T87XplnRaAx0004meixrALoYZ8Q==","signatures":[{"sig":"MEUCIQD7Eq3tBTl8v042TAmzxLCEQpASCH7jL79y/ocqa4b4EQIgSfLn9sVql0sTOL1oItRjWMhr2M8l8UyXAGzaDJk5mdQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZiyICRA9TVsSAnZWagAA57gQAJhChl5ik/NFmB+mUrfZ\nxTnKSLSM4rJh4uGCVVAexDeK10juB201BEw/RTSS07iMNEc5KmBsWiuq7lgy\niUBwGP6iCBCneu+5NixMLlyNzIuLVaPkhCqiKgk6rz6B6/lCSDxrtPWhnP9a\nvq6Ksx7q3hu/+9QN3qcwHuW8P+a7/M4pQ5+2DfHh2WwQpB9aNuZJKVbDELaO\nE1/4k8+dIpxliZY8DQJGs0v1He85HPpNaGfk9zYSTLyfe6SGRz+sFTjQXCkT\n/VbNO68pZhod0BMlNDgW5+UzbAH1eJrEn3rUwp0O+U/h9LRVlprGqCJwytQ9\nhrteCwlz19AYTCO3nhZCvWeGs1L8/mv0SzO8FN5m5mGxYWwSxTgX6deoCL3h\nsfQBlkBcSvHf62sRDQTVLP+JXncvJFV5NSyKo01A0od7T68zCpU3tEof4BKl\nBpZNme97AXoErFgeRyDUIu8fgibhxMiLzbMBeutgaZ23f+79N7ABD180LozU\nWnwIZPJubn8nV+i64SOgPW+BzmV02rx2C3D274Joz9HG7pjifTDs0nVO9koA\neZqxHZCEwFYnTFAL9qBhivjVQj4R8DX0N2q69BYuMlrOXe6BxgB1c4bBKj1v\nqOdi/KNM78Ee3D9d3bwnuhZzw9UJjSiqe16zOjiBugcGD3HyDgTFJWrRQRaW\n+J20\r\n=U/sj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"f2b457aea9881a5f78433343db5acb30e6e63aba","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^2.5.1","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-f2b457-k7kegaho_1583754376348_0.4791427534171788","host":"s3://npm-registry-packages"}},"0.2.2-alpha.1":{"name":"@atlas-engine/iam","version":"0.2.2-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-alpha.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"4ba7ef7857b23b61f96480490db1728a492c15f3","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-alpha.1.tgz","fileCount":30,"integrity":"sha512-r+BWl90OHRmXhTXqbiK8EvAr9SFHDNsJD/ilhIz4mBc4rKwo5hEUbspsR/WHcCxS7Nif/4BchrALSzVugTZ0/g==","signatures":[{"sig":"MEUCIC2bksD/GxgTszEFPq2b+kqNBdqS9q/n46hE+9OfTgGOAiEAxyO1pUfvbkEQI2lpJpCaLeWxSfyHAZVMyFOI9N1CDOk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecd6lCRA9TVsSAnZWagAASA8P/3yhesRM5Bv6s6bXTNaL\nVEJJEkzYFdyGh2tHLoxdVGTVcEcp3h/0Aw2v4T+I/6Jnyq/PuEhgqN8nDPSW\neHwNDess2Y/pPNMODkXO98JLIKc47DyjAcVb41FXvi3FBlJYq+ZdQHYFeZti\nfa4pcUmWvl4iQ2xqqJA99JxnKTPQBcx9jGetpRnkU3/TafA+co6jF0AUCdHI\nfZE+SbY8DxayVphM3S1uxkEWUIHqW2PDYZisx8TV4X4VNEJIRVS+lsDWL5Yn\nGcu0ZA+AUYlK1QTOr4GCmQb7V+V/nYhxESBzmnMKGLjyhLLdbDBMNUFxoc+M\nX/ji3W0fyEA9GtyN+xqGWed8+250XL4EU/h7ARWsYq4bV3sMQNeXm8VjGv05\nS10J/8SXOYEdY9FOXeN0Z30AnIZIVAK+z8eEWcS6Vps9Al/vZyyEiKDOrBYt\nNalBTK+GqFE8puVI8QBVYDVNtlp53UsnohM1+PsQK5QHDM53sn7brin4kSh0\n085PxVuszvmz9MbZAQRYL6Gms2rWF2idoq8km4H1R0ABrWZ38xtoC2jw1Yk2\nwbS3jpaI3FwjFF0bdj7SOOZDtRZeIX/2gwh9Dj98HxKLO6sd1qqJFX8WUt5c\nKMoEquUPcXTFmGs68RX2fK+vspbOoYXmrojXCKmm6eN9AdGIAq1Lx6Zcjcw9\nTUk1\r\n=ssC5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst iamService: IIAMService = new IAMService(new HttpClient(), identityService, this.config.introspectPath);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"a8f37a01f713443096347ae557d0fc66f45ee2ec","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@atlas-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-alpha.1_1584520868973_0.8396371666043585","host":"s3://npm-registry-packages"}},"0.2.2-alpha.2":{"name":"@atlas-engine/iam","version":"0.2.2-alpha.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-alpha.2","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"53d702adaa7d6a9a8e7838bf9494e0046151cca8","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-alpha.2.tgz","fileCount":30,"integrity":"sha512-rRd7/2/zZL5pkLSTtHJe9FrwJux7JbuOP2fMLFVrmeocAesTEKDbMoKEBRboPzSzqmxyoA9u0X/w2hiSj3uIDg==","signatures":[{"sig":"MEUCIQDVtMjASqPDtlU1HTtDy0hj1jgfun+nLuLODUyfH8mYcgIgCjEUnfJgm5+CFjURnO5vFf0bsiWDZ9rCi4L9Lixs0NE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecgG/CRA9TVsSAnZWagAAyEEQAITdvXRWqVA+jwPIDHiH\n6Mhbh4Xw9nA1vtQmRULQnhYWH/QJhwDUJj/uZrL79qlizj4bNsZs7Sw4zpuI\n7hDCti1ziJTPt6NWaZ/bteecpAbN3hwhAST1aKndYqh6PkssG2ke8VfttbnZ\nCg/kv66+B5mWEwDNnJ66ryb+j449lH3WJ9+M2BCRX0IrHFim6DHJklwu1o0/\ncR8mREZBuOQR1T/2nVIvXpPBlaTCONv7akhor1JlwdFwoEazrejmucAvJE/w\nQt0PqIfjh5FWQ+jcw5TMD3mf9ILnv41kkHGC7mPUuBSlZn0jqUWq/JyXMUwC\nLhlsG7ZbhsP1wPPCTSjG9JW2tu3VaUpm0jrLkpz58vPQ3hLnAD9KNexx5ZDj\n4B94k7jsXKpia00X0OnOwke8j8giqDVnmGg/D1pv3WRvwpZG16S3Bv/phsWL\nn39bUxEHQbhlEkFe/r3LwXpteeE1DgvQF/CTnHkJnJGpaju2Tf6qo11H0Ohk\nydVQkrnHH28U3vODkA+22dMsB7tfU0AGhAdMJckuXqTzE8N4uM5MX7cbKrVA\njq2spLDeq1qgGDjFjMtEmeC/63eJXzOeyYuFwBhS6odFjtrsvkJHW1iFHTrl\n5B6ObCq5y5d7e6Elql+1yQu5Oj/bhOUdIByPS7fo1cSjvhCdp+4+auYS+hwM\nF4Wr\r\n=z68B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst iamService: IIAMService = new IAMService(new HttpClient(), identityService, this.config.introspectPath);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"e2b389893b20308cdca4ce74d84008bc95e0c559","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","loggerhythm":"^3.0.3","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-alpha.2_1584529854972_0.6109424410078099","host":"s3://npm-registry-packages"}},"0.2.2-feature-b712e2-k7xhsban":{"name":"@atlas-engine/iam","version":"0.2.2-feature-b712e2-k7xhsban","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-feature-b712e2-k7xhsban","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"2cb7e1e28da51f1826e99aa9de5e3fc24e3af5c6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-feature-b712e2-k7xhsban.tgz","fileCount":30,"integrity":"sha512-NA31T7FvUYB97YV29VrDB+15SVbZ1MB9bXsnggPChJYOKZpiE9qSCaiWhH6R3Ao9mx0+v2ZXMu4dlakqlZgNcQ==","signatures":[{"sig":"MEYCIQCRfjrNCUVZpuyA0BOwMNA4VbCJvGLFOVUFShLo89VKwwIhAIdrbLWr2plZDe2uJzuSRpi0yMcTA/8DLLmEK4jePOSd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeckD9CRA9TVsSAnZWagAAIgIP/2SaPpxaUereRCbtRn6T\nqM7X7DzMw8xOYNDlzuj5o0QKhB4YdtlbWrYyi+bVvZo1Xb1oswZwrQf3UnAs\nxAeDha61xO8CFkuZXDrkye0Hv2ojddg80fCNKGsW8JZ+A5RET0WxJYjeebW0\nZJ9xWpXJoqacDTY9m1gVzL+uPMrrLcvlanoQM4VXNwIxEUN6jDif1eIqpwSM\ny4C4/IWThdd8LbCyRK3vfmAlDm8YPNSXSUUjlr133MhhKU8c3/SIs2zFI1gN\nQ6uC391rLtQ2PNHjBT9nXXxJ6RbHsihQyKa9QN9PyW2PG2cdC9Lx4y5lEn5j\nsqgSsYQnltuNLQD21ARwjrl2+2Br4UG0uBNqqgHo9JGCCeN4Fv3RToMLxGTS\nFBAmv13AFojowI5G3iIBdAyCs4QmGufk4FNfNMYuIM3idvjGHiN9IFgeiHfI\nwB1EAU0VZe0VyETEjq2f9mFfDGVgoMCh1Vzb8VUOF6vLujdCjQK8EZru8yQs\nNm819dfJFbYiaY8BHbO1H7GIH0toMSrpkOJwpOsQ9gzpjk+XpqrEbMj/zbWU\nW5nlFH7ixeobZrZyq7KueGuaVAT1VhZqdR599Md8Ujd+r6MEydUZ8+nkzYzl\nSGMxg5ysT65AB+u5DdE9eZtSTtvPcCelBajsMM8HbGYb3MUlzESffsuezmRM\nxWEU\r\n=QWAN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"b712e2d84e6511cb80b215124b93feab031774c6","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"0.1.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-feature-b712e2-k7xhsban_1584546044355_0.9157062385238977","host":"s3://npm-registry-packages"}},"0.2.2-alpha.3":{"name":"@atlas-engine/iam","version":"0.2.2-alpha.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-alpha.3","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"6ba46bd0810bd2be73ea7f71cb7454d7db7a627d","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-alpha.3.tgz","fileCount":30,"integrity":"sha512-N8efdTiuPtR9wH9HvrxeLGva2Nm5vnGWlZmJiwHFTm4QIvldoSIUGDhg1trWQtDKeoejf4htAogsbojCV8HiFA==","signatures":[{"sig":"MEUCIFGhvvHfVILkacYbuk3QSsuZ0t6tTWy27cRJsdiA+SlNAiEAnTBVK+U0kibPCykPE1XRioVFa5L5dQeVYdf1aoONvGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeckU8CRA9TVsSAnZWagAAKp0QAIeUI4mETXRoRyZDPC/S\n/7txsZtpg/V84KKQvjYSPgJabXv6lLXWiCuMdEAaOuo3uTN7PZUo9Ud3LCVz\nxBB+sXSe6GR/jeLK5HcoN+fFUCFdqjhzHHR62khnf0Aw6iIcTIUP26plnZPS\n8krSWtGmiFAs4OqUvJmfx51EbIEXoiIZHDHpyXPEUWMuIk+tdUW4jnErIDHb\nAiNBciwnzczvdJzkdJQ1p3phDR+kq5JvtqrR7n5+eKqtx4/vuMKuGoVGLLwQ\n19Bx6gJKe806B7O59Pbn8BbvzXeqC2k1XXAUuejiVpPeVxi3J0LMe0YqGADY\n1gj21wJNr5Gf6zGBd3YSNqJTpmkpmyh+PsVzZ3wZJV5xrZpYnIU/krh7i2YW\nwVHFKoqWfJAYVWdjgGwCnoSIEvOISrlvCPYkU8eovPEXTbf4qOoqL/mRAqU5\ngfO8VhNFJg8KZEeeE9+vRvOTQ5L+/M9d6Af8DDUvDQge+b8ewdVapaWjkaQn\nLbC7UC/gVuetIe/N2T9VCd9+NIkAJjHUUYuNK6TLALa2ZxhntiFhptqN39/G\nWhFGXqljZHVLg2TDEQQGxi9lHE1JRuEaKE6ok40QH1dINC1i15eljzbQfXGh\n+lzoDu0npOJI2HMa8a+Rzj3mQpkHCZeYR3wMBAn28tugLOP8WS8i0zV4pMTW\nCXuh\r\n=Ye/J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"1451751e3f4b76e36b7c5ff774085da5b31b9a10","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"0.1.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-alpha.3_1584547132314_0.17705781749682314","host":"s3://npm-registry-packages"}},"0.2.2-beta.1":{"name":"@atlas-engine/iam","version":"0.2.2-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@0.2.2-beta.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"fd7edbdfb5ac28633cb7a133e97c676133dd8ffc","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-0.2.2-beta.1.tgz","fileCount":30,"integrity":"sha512-BVakopToPSv5djEUM606xCA14iPH5HCDW1uoFOm5xX9KdtmajpxITF3M3b0yVwmj19qD1lnXV+dEEcyMAz9SBg==","signatures":[{"sig":"MEQCIF32khNSG8VJ5cmOx9EoWBKwbWbXJe7bG3bc0tyv11SEAiBUgDaxetcsMu/ffTL8npZd1w6CS5i8aakc48ba9DtkYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec7jDCRA9TVsSAnZWagAA9i4QAJs4mA7KJLrNaRoEwEOz\nKBp2C2om+U0JWpmI+hcja/dWIAw91h4Zf5bCV1u7FgH+5mpklBkGryvcTslU\nmc+A58Y9ObRWJyJ9ZQiCccQjBi57u39eZ5yVQ7QFX9rhbMV4dXORvyfIaiMD\n4v6hRK9Y+QltVYPbVkoQkj5XfLP89kqzwnL7zMosvflJfDggK2cYmhbeRKsJ\nJ10UpoyzSIIwG3t5aX6RSiuoQiEMYXf7E0AzLCRBFFfi/7ibpEn04akaeK4a\nfF06vqAM8VT2JhJFR8rBOtYcTX4BC6a1S3Ell5J8Ie5Gg9Jyh6A5tSZTSslK\nQ5uwa2v+Sy+FZMNSQwBVr4aIQgd8v6SdsaOaDzDFoWARfjv9uwwLcaq+y/os\nyln4zv9L9BOot6gSGbxrBvVgJNkNr9/XZ76HCBp/fnyxhjXoY88+WYo8DMdO\nA3u7rKDjcpFys3O7PWfPciOlPNBhezI3DBQ+oTxDqzYa3xBWmAswHEKPC9uz\n4mYFg7aZikzQFoJscd+3R1wRpJ09cfADaPGqKAGRl76yRSE6Mt/mOzQtBSEA\n62fmKy707KAx9mOuExx23BoSY7C/Hk04D9s9f7RhkxtEsBFmFOFIg72D9QFW\nDA7c8lNcHGi6JNLDraFcNcU/dF6eJbhpqCmjznRRYZPuSA+TalgWA86Ya0zx\n+wtc\r\n=8ITI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"58e577efa40bc9d162efb7cd4a95b6345712e9c7","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^0.1.0","@atlas-engine/error_provider":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^5.0.1","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^6.0.0","typescript":"^3.6.4","@types/node":"^12.11.7","@types/mocha":"^5.2.6","jsonwebtoken":"^8.4.0","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0","@atlas-engine/configuration_service_contracts":"0.1.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/iam_0.2.2-beta.1_1584642242673_0.4554926400737367","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@atlas-engine/iam","version":"1.0.0","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.0","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"adfb2c84be5b6b4f2c5defaedacb8988a0a3d7e9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.0.tgz","fileCount":30,"integrity":"sha512-gYwAEVWJrKUTMkNYTCrFArFZ4t1QhmQBm9dhoJqfllGmao1rv/AMBS0E/aCmZSdH75NN6hfq5UgpGo+/eeO4NQ==","signatures":[{"sig":"MEYCIQDKaxi35EgzHBp52vi810ReTSqTl2qCnk4bQddkp585SwIhAK2Jqio5B5lNA+RuhwjhJxeBfQTwgOzvOHTD8uBnAeGA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeecUVCRA9TVsSAnZWagAAmGEP/jJ/jCBF082kHlU2aiZq\njYQTSPjH0fTfy333vl8ofFzeiEP03c92+TwiNH5MujWCqXjH6KIvgZ1j2q73\nls+G1ZDeToFHjpls1jauNnToNpMf7ZUPqcGthAd5XrRPpT7xKjFwPLxKHRIU\nJE/Zu4TcNQte3cPDp7QYaVmgu5iAvrXLQOk0JQKbrnfID4/boNzRFVnM1h6U\ncZwh8iOZon8rLRIMyjwiYTAS4rm+UEDlMAe2WJsE3yVseLV4jcMyeXDkTUuh\nE7uum9QCb6K8T4YZGFjdTJD4sblydiNu3rzFpdGT7N3YX64+jkkOavWv2uao\nJe93hCETBaC4bqYuje7Yrkui5fxNpktVphN8zZ/HczezTJFrCzxA/+BmcGBI\nJg4zvNfYL+fCUtAzJn3BpLBERH+8BdJFgEQn0Lb+YosBdpX8a0tlvBN3Ivno\n2maX7s1dVGVo+BnJIpYK4pIDZ97Tbd7P8IwNHV1g5OhPn0Xb3/rQSXp8jZ1p\nkF0NViio+KxSLUvymvigElhwQy0IjTJoSOHJ95FepqnnvLT2U8DMduAFh9Oi\nLQwxtpCOBBPUaHCYiEJDK9q1car4c8ZqHV/54J+Ohf/8H9N9z1bMRyHegCyz\nV1sM6AhWmjh9rBrm2MShLO4j0PJGOALStsa0r4GM1qj0TRbeY1Zeu6ZtFe54\nDCTe\r\n=wmx9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"76d4ab81b3fbd02d27ad101c22c43d842ac30e1b","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.1.0","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^7.0.0","typescript":"^3.7.2","@types/node":"^12.11.7","@types/mocha":"^7.0.0","jsonwebtoken":"^8.5.0","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.0_1585038613421_0.7551943950708664","host":"s3://npm-registry-packages"}},"1.0.0-feature-516b0f-k88w4akt":{"name":"@atlas-engine/iam","version":"1.0.0-feature-516b0f-k88w4akt","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.0-feature-516b0f-k88w4akt","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"d306a9246fbced06891b4155a56b0375128eccf9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.0-feature-516b0f-k88w4akt.tgz","fileCount":30,"integrity":"sha512-xw8eTwr3deEcVuZ7x1zotcDaVYno2qJUT0assE3sIY7QOH+7ZaT4XgI5BHFD6Vl4d6qe5nGLcVhxrcOjd0TOnQ==","signatures":[{"sig":"MEUCIQCTSyEntk1T2xBJJxn/+PdGfo/mirhUqoopvihelMYKNQIgANYGYo2tb2ts8tDHaQRIJH4LnPXXoriJAkY+SFMEpWE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefMUwCRA9TVsSAnZWagAA1tYQAJGe5VC3FDC6mNlO5IE8\nQhi0A2FV4aGT09xzDyedGj/FCFF3nVDVGpOG8a75ipsN/2elL9xEdntLUO/J\nhWBe+nKZVCL2GnuO9hICNGacfomtmuD+PhfLDyC8aRwhWvSnBgHCM7eQwZ29\nuoMAbYxHw73u1hpnA0IB9ggXTjhpBEsYX42r///cYIj/cxDU/jXpGGB7lv3r\np6k5dnzCmy9oWWkGJ26JJg6lYfqG342cuRz4O0dROwMEPKYxVkUilkqgn6CX\nGQuOMrRy1QTYvEq+5HvnBWRp+FtI3QkonF5kSxLR1v9xUNGEXVjXEOalLG/f\nJPV+sHLXjdGaOtxEqtxFWS8V6I2DJERJz25pwqlzm7UDA7O9ksDIUltVAcwa\nkhPf0uMGPx5g6TCTqDysfbuvO6IHGZgoVcka47tyJn6Gu6+whIh7iy6HEDJK\nrrH8SCgTWf7yvpCQEefq5ONcRSiz/5bzC88pbtHqHWrWs3BBDmi3GWVelWYY\nGWiJzq2DtCdGu/o/HlK9k8Fy6wDolnVhlgSWm2ivoOlVMyRE+EluV5smXdLa\npTgMbjSQ7tdP+sHGhgYtzzn4hifZ/IkAqvJOB3cU61/r6E9amPMqdBDfjNyO\nmfP5cdieInb/eJvywoVvKSGVOK4E3jX7Rg8imP7onqnW+mkQnjS/Q1MhWuVs\nb84z\r\n=irau\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"516b0f1458713f27bd2f29f617b78409a441060b","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.1.0","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^7.0.0","typescript":"^3.7.2","@types/node":"^12.11.7","@types/mocha":"^7.0.0","jsonwebtoken":"^8.5.0","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.0-feature-516b0f-k88w4akt_1585235240852_0.11396608715451939","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@atlas-engine/iam","version":"1.0.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"e3fa79d769f60660bc92433af5a51dfbdd654a00","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.1.tgz","fileCount":30,"integrity":"sha512-ykdHnaLJA6L0kdjICcqJlQFO6lcx0PaQlFRTzkxZtgvA5Skp8yQT37pGAzbUuj0FZ2lZItCcq7IfOw7ImDa/Zw==","signatures":[{"sig":"MEYCIQDE+dacgxM598ewONbDOc43ouDtjQn2LEtxM5GXcSbeYgIhAMEWSBEt/L0OLVaH0s1sWEHBxcPoI9ZS0J5lv61SGq8j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefMdZCRA9TVsSAnZWagAA3esP/A9MDq86uzOuKvQgLLfH\nKxoCz7szgIQW5EIg7Hm8F8oXHOGwZ/EJuu/WiBxwHvq7V2Sr25DlOfEeXUPG\ncjGhSEInvu3h3vTWRo/FNIjSxxHWToic5Cz9XxWBHoG5PfPOUuIsfguYUTWL\nZ9SArJKnaHjzp15qbTm4ZIBtK0B+qJOHyeSkTP5nLLTUSdzwVW9bDLA6bc0Y\n5N/eRidD8KceK54kXQutOJ/iq0VubMZwdwEjvcJP+Z6DoDV2ixq+8xrq451K\nPz6XXBrufK6pq1PsTDjfUMdKG3kZmojDGWUuCyD/c10D1STCYmvipMR4zzUh\nTPmKIxuRAR62ZLv0EfZqzxGCAJgkSef20GFpauA4U5bfhNTP3SNrQpB59Dgp\nVRZ9epI6LluNCpvlaRBu3wSEKoZtRfLVfjfZZxJ/0qtXYs1P6PlSmmy6wvSY\nSynoc9M2KXkEhUAg5el1vGUs9RP2BuTPCYAbTfI1FkvPj9bK0O8jJHJFdb6i\nQzP0nQiFNTuQCBcnIPyIuqgdKiR1R9LhZiLXoyb/vgaIle8tI26gX8AUUNgH\n20fZbRINyIirzh+U4fytDmCyaOHRMT5sqa6J+imZ2QWnkZY4RQtqPwx00IRC\nOb6TvSocba0w9/eRfyJbFCrnRm3SucghIBkV7uPsWKCh0xlp1lMALYKbrvgv\nR9jn\r\n=HE03\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"464bc2012dfd1bfcb466db38c5a9afafa381f3ba","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.13.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"^2.24.0","inversify":"^5.0.1","loggerhythm":"^3.0.3","reflect-metadata":"^0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.1.0","mocha":"^7.0.0","eslint":"^6.6.0","should":"^13.2.3","ts-mocha":"^7.0.0","typescript":"^3.7.2","@types/node":"^12.11.7","@types/mocha":"^7.0.0","jsonwebtoken":"^8.5.0","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.1_1585235800641_0.6383737600552664","host":"s3://npm-registry-packages"}},"1.0.1-feature-f19914-k98sbagl":{"name":"@atlas-engine/iam","version":"1.0.1-feature-f19914-k98sbagl","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.1-feature-f19914-k98sbagl","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"c38dcccd8cf28fc40dda33c2e4078509ca7740c9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.1-feature-f19914-k98sbagl.tgz","fileCount":30,"integrity":"sha512-JJsbzDkCWIe6TNS0XEqUEH1nzF1PiXfl+3amc5Ew16zMn63UgShDzLHnosuSXsiL4PMO6SMVCRSuI1d3uWRM/w==","signatures":[{"sig":"MEYCIQCEkmEDP+rLDRMtkyHhB8PU0cyHt0fgCDMZIl5sgMvOYgIhAPboHk2hLcHAIIJmfxt5Dz/FQERHUqqInO5XFfCtpa6q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeneM6CRA9TVsSAnZWagAAHXIP/jhcS483ork6Aqgo/S13\nsD2KcjSs4pOoAASRw9j4fsmHLtEx+y6NNZPr6orNs7t+uyIrffl5Sh6bkWm/\nrhHTf5OxrZ3/8E0Ffwz5SIyN+/mqISpecPryNp7YmYNeqtk525ItQ9brJGm/\nLNF1O863evHYl+yW53uud2bldo4CO1ipZqHdVbPhMR0ALiIzEHnYRN708yWp\nvmYW5tUe0MeFDDdGZpHRklxtUiWVl4URs8epAlow6wYJtBvsFsqsmd5KGrIP\n1uAHsil3NxcdRBVaKTJgSJlRQvtbof59xzhJyjoXCSTAnFEi0VJF5AeKGc1d\naAM062Cke1kDS2NvGGwozx7ukQTySIjDN3Y2yhzyQdTBRGFAtR55qbLTIgzn\nqexdyhV3/jLBjY7fMU/Lzlf0SuBkoR7jpSn7fj/eKVt0BRIerN7IqACtyCmf\ntbr3PJetttwqeujriE6wG86rf47cYhFEdUd6ClxfUyeXITi7Ta/nQrSr3s8M\nxh6nmNMbl0kZdq5RevWLMx+f4oQOprI8UcoTcaOjcmYVVsf/SMHLLlInUXWh\npQVDmIW6Bs+J595kx5sIJWMhiFVSgeQOP2H2r8b3YS0kJ8hLdqDyHCeEu6ct\nJpfi0BnKFlG6devecwxp4xBzcGANfHmNE33RSvEf8JxmV4LfX3yL8ENYfh30\nA1xj\r\n=OF1Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"f19914883c3ab4f1b9a18546290d244176c8138e","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.3","reflect-metadata":"0.1.13","@atlas-engine/http_client":"feature~pin_dependencies","@atlas-engine/iam.contracts":"feature~pin_dependencies","@atlas-engine/error_provider":"feature~pin_dependencies","@atlas-engine/configuration_service_contracts":"feature~pin_dependencies"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.0","mocha":"7.0.0","eslint":"6.6.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.7.2","@types/node":"12.11.7","@types/mocha":"7.0.0","jsonwebtoken":"8.5.0","@process-engine/ci_tools":"3.0.0","@atlas-engine/eslint-config":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.1-feature-f19914-k98sbagl_1587405625964_0.9634695590434554","host":"s3://npm-registry-packages"}},"1.0.1-feature-ea3e5f-k98soy0r":{"name":"@atlas-engine/iam","version":"1.0.1-feature-ea3e5f-k98soy0r","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.1-feature-ea3e5f-k98soy0r","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ce18b2d23a2c34bbc6ebbe62839c7432bfdfaa6a","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.1-feature-ea3e5f-k98soy0r.tgz","fileCount":30,"integrity":"sha512-vB994oQ++4EIKtACLunLMzp9JZjJHI2BY32TOZLtZants1Z5EQB44y6DDrQLDnyjKjiau3hNziozYFAXeN7VNQ==","signatures":[{"sig":"MEUCIF/8wYzzsP+zayEpDSceh5YfvxhutD4loF6nfO3z1e7CAiEAptKaz033eczamqWtNTCEf9DQq1PqxLcEreL3BSVn+54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeneW4CRA9TVsSAnZWagAAuKQP/2MWcUR0U1K1Lbe1ZI3J\nq90karFJV2OKHgq+DG2MgJGj1PdUrfQ9ETuEFH//gXE9PMXipHYa7G6bmyZm\nGw0T5fxqXqCp4o2tE1cv6rnaRWNVbVD45CPSVBREtTsYeS3Nf9LVEl7V4oFs\n7tK0pMMIz/2/4DVaC5GwN8D0W6wesV4ZEEbNaEy2NqIiWs2akqE0k84WizUK\n4OaChw/NBMx3q7x3kyXxzl2m7GFEp2A5i7bEbuZy6Adgzs3JKIJUBH1YF9Jx\nAKshD5NCcHbSV4Yo/67Y1BwL5RmWPxgKNzz+izdyRQGOfPMukb0L6UerPK16\nzfusTUfsqVxvPIBA8XcIOaHJ0yvoRhgrHmn1pDFxuGtCONtwOHp0TWoDRKTg\nieCGKRzyAGAD8zlA5KbHzfWbM6roAE37dMkOVflEHz5etFlFw7WIE0QPiTQh\naZDOEYHiUv29tnxXiqoGDNqmN6aEyf6TN0XmCmCJqlHJ2JuR+ZLGubUsg01q\nfyF6EK71fqU3EvBc6AxXbdVg0/doiDj0mEvVUcodgjw5+ap4h20n3Rw9fA4y\nsm89DM3/NjMcMx3iPnFqHQfWOSRUwaoFHZ8doTPfbO3CM8wtw2OWUnZGVe37\n1B3sanYU7eZI8nkJ2rbJId9/I0l+3tyHBimbYyZVx8BU1DO7ePQoR+0nR0qL\nLXam\r\n=sm5s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"ea3e5f7de46b417d326ea68b78f758f971bf08d6","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"feature~pin_dependencies","@atlas-engine/iam.contracts":"feature~pin_dependencies","@atlas-engine/error_provider":"feature~pin_dependencies","@atlas-engine/configuration_service_contracts":"feature~pin_dependencies"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.0","mocha":"7.1.1","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.11.7","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"3.0.0","@atlas-engine/eslint-config":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.1-feature-ea3e5f-k98soy0r_1587406263916_0.03536011721892929","host":"s3://npm-registry-packages"}},"1.0.1-feature-4d3990-k9e2v46g":{"name":"@atlas-engine/iam","version":"1.0.1-feature-4d3990-k9e2v46g","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.1-feature-4d3990-k9e2v46g","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"44c175b41fc696b3b6056a9b507d7afc9558dccc","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.1-feature-4d3990-k9e2v46g.tgz","fileCount":30,"integrity":"sha512-NGqZrRoYBJ5mVMu0c++40bNaBYitG0NiUxOQv5mnHhjBZrDuadf8YXjLW6v6Q4nI1Hy3zTQFcbebn/cmMlzUlg==","signatures":[{"sig":"MEYCIQD+CpBIZ1VC83LtAtWM4n65dfwKlu/oprrE5pVakhC9MQIhALmC/QWxK/6KzKSM6fzSa2wWR4h0m3E5bshE3Bsn94WD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeosVyCRA9TVsSAnZWagAAd6YP/inFCc+Zs5tr15sbPqf9\nYu4eJWIteDmXtwPH1qzw/Ekm5+fuwiQQdHgRjRUxw1KLkeNw0QpXCPuJNnby\niakwpug26DV9RC9P8cteZ9g2LbM87Q7RldNxoMeF8nidtRkqXOLxspegvSR4\nKRlp9QdKxNr3XrBPQaaK8H/BDdUI6dYcvRR4V6O89GQGgysv7Qdj3y8KkqQs\n4ovo92WPQdGTUHafyddM/ztDGmFXbFNBgJHN7rcEu6tamOiZIXhcGJ0HIIVt\nBeWUHNRC2ZkCt1BK+I//B6v+s6r1a8tA/7iEqg3SlHKhBbUeESNRw8AHwBYn\n6hgNwYtCzwgMj0qVtgPudjqnZOMMmmodfMWUKayLuzu1qrw5eXBpHgOuP2w7\nDz6SihdsWzLSoNPaJthnaJWL9snL2RZvko7FMUfGmKlPK+cnYSn0xaLYKRvV\nMiBO6mIRvTUJOTGwxPRUUOyvSg3k3gyQY/dUb/JxfLuplLy1eV3HrG/IE+kf\n0U5rwswyaulmPyDAF/ljMAyLsUbdh3uHw0elH2Cs/XJOjYR5XLGLLXDbtErB\nXGvv9+waQxcjccJHXU6jndKgMci/pOMTkjdYHwHhqCWrK+UAcYRowOm2Jh3K\nl7dSJF/1zp2p3e6RHjPX6mVVSjH5wL8yxUlch7PnyMqCYIEea7TToYPDpWVF\njKA/\r\n=5j0E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"4d3990056f4bdeef9eed5c4fde14905a5daa6dd7","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.9-alpha.1","@atlas-engine/iam.contracts":"^1.0.0-alpha.1","@atlas-engine/error_provider":"^1.0.2-alpha.1","@atlas-engine/configuration_service_contracts":"^1.0.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.0","mocha":"7.1.1","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.1-feature-4d3990-k9e2v46g_1587725681863_0.1611488351281487","host":"s3://npm-registry-packages"}},"1.0.1-alpha.1":{"name":"@atlas-engine/iam","version":"1.0.1-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.1-alpha.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"c073107d53b7a9275444e8fe9b0b6928964e1637","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.1-alpha.1.tgz","fileCount":30,"integrity":"sha512-d4THI6m78JBNEAp9SjwN3RvG39c+yRwnzdj19wotjI97vKbIfb5YYFPTwrdYd9NvoUJx0FmaLf7eauOmDppyAA==","signatures":[{"sig":"MEQCIE5t5LW5Mp8ujxgGisCabegmmtt1doeHJswMoLhymqBYAiBFkaTwPlp1hrdiIlcilXndeoaM2Dbuejo8K5z3obOKrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeosbeCRA9TVsSAnZWagAAE/sP/R17uQ9rYW4Y2wH1yvAO\nLvaw2YdGxj06jzPP1wvi3PmfXSVgandbGWoIZQ1vnUSaO9w/TKWGpSnD1FU8\nHHJOvnQmwotXCIMr9AjGBUXyI62tl8m/bJ9gZE3IsLWkbtQn1j2ABmfGLrgf\nmBzqI1Xm5nCZunXW+Tum+7W/gASMAF48SCf6Vpq4rgGVhWCgJ87xxBf1gtPY\ndTkBszTy1GsjvJX9Y64AwWKmyHgx35/QvA8LhlYxMtA3Eu8ws5Xtc8ppATFT\nM43QG1E3e3GJcVVV0iwA8QHbu5sMhmkniIEMma6oVOeiQ3UeGQD5wz00hGVS\nJMntmtbEjqan2j3HbV2lby3SGR60VgYgyT3vLwTWrz4pDi7zL28PrcNPCS3A\nj0xIDSYWO9DiJEYiAHXM0BlmcAgzJyGHqcxbX+3d1UvHNXuuUZqTP6AP4WfM\nWhZPQzp37UzC9+dtb32waDCa7roFr4M/FqaZYw5fgq1X4dDbMnCLBqv2ItNN\nomaoV2dsFC6+79+6VzHpGTIp01k//DhVVarEwF1PQbOgbeFZAQcJRxkKWqvF\nRwjAQKGOJ6pHVf65DqMsCR/BQE/041RGuzmD9Lo5fJD6CMThCzPShQ+SvND4\nZ1h9ooEZuFf6ITAWfJPriP7ldBKpee02qeTelu2SSo3xEAEmQ6ImKjma9A0y\nP3gp\r\n=92Wk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"4dcfa8b6d2da6e587fc9e576f7c2efcc0109fc19","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.9-alpha.1","@atlas-engine/iam.contracts":"^1.0.0-alpha.1","@atlas-engine/error_provider":"^1.0.2-alpha.1","@atlas-engine/configuration_service_contracts":"^1.0.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.0","mocha":"7.1.1","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.1-alpha.1_1587726046223_0.6936527671714132","host":"s3://npm-registry-packages"}},"1.0.1-alpha.2":{"name":"@atlas-engine/iam","version":"1.0.1-alpha.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.1-alpha.2","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"eb0d8d989009e0b880789129be21f035bfc3b805","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.1-alpha.2.tgz","fileCount":30,"integrity":"sha512-LTV6ED2ZUfPKT7V4RRgQKcarfCXdINZMPxjCBuR1DEs0mjSeOebPhEcQ6p655cG30UlkypI7wP7u54HOIshVpg==","signatures":[{"sig":"MEQCIA2kg4wJSgUypgE+Q7i6w5+I4RDaQuV+Xh4bkz8/DnbJAiAnM8+vXAjeJ1HzLcaui7DjYnf0veB1EuN/6w0UzfKzUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeprHjCRA9TVsSAnZWagAASjYP/R0/3SYMXuMgZhR7jcmL\nx9TfWaBJp2MDrE3JNu2g/K92W84H50BGf96lm5ZGV4N4zrmoenPmu2QjoXYO\nMiLogMm/cuw8hNK9PahbiLTkPc/r2+QOkAa+YKc/ECUGounpUqIRa9tPXXS3\nNjJguX3WX0gUJoaHcIeqWoWip4LgdaLGjNu75hR3Bg5PpfLXXbc77dhJFzG3\nbkRZ0WwoR6OFYigvuvjB2LzBh5auGs2BszDhE9ZgUsxCuH+Mhi8a7nYs1viY\njMy3VxrCJsQHsqpJF6wopId6Yk2RwBok1H9OKskcsOx2WOKbWZi+IFcwnBas\nglGrDQlukL5faL5h3bHkOjacCqAnXsaO5XwWgORplikZzqqslpD25OzH/EGS\n1ooXkF9j75m7Cg3Fcb3ygMMSzTwzTagDBAqYe3QDXI2WXPpRktCqi4e4u0Ft\npa2+MEbz7te0rvDGcDlP478q6uogoY70mADe7GMOJAqYLG9XFhq+Ai+kRu4R\nyL0XhMd9Xj25YBlVZ4sjjtU+wNkkvCpgRmazERV05OAuhIxkVYk62h0rrDvd\nPn+QJLWk/UwHINl8caIc0xC59r2TiN8eS+Rz3LsIYK3817HnXWu3NKN1fwv2\nzs6m8I5RTtRUZurHdlmsEnW26iFosqipZNt+L7PZAp402OO6de8tte0y4m9E\noCQI\r\n=MhAg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"f9c7f58c30360418cebb0608cb81149b8b30d010","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.0.9-alpha.2","@atlas-engine/iam.contracts":"1.0.0-alpha.1","@atlas-engine/error_provider":"1.0.2-alpha.2","@atlas-engine/configuration_service_contracts":"1.0.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.0","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.1-alpha.2_1587982818831_0.9497512069757303","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@atlas-engine/iam","version":"1.0.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f479fed03b881b2d644c713798b46d7ed5bdc9c8","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2.tgz","fileCount":30,"integrity":"sha512-lhDL2lBauCQm/8qw+P4H3JoxRPTfYKB12jXCDIri2wABs0RVUNsqb3+RAR2UatanVYEfJx1Z1AjqvVK1cZj/kQ==","signatures":[{"sig":"MEQCIH303eSCPuTnGBp7ozoq+2cFdEn+2kz7GoBeB2VKlIh1AiAX3ZkYgeCCwMujpz7ed84guCQp537yjghR+xaZk/UGhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqUg8CRA9TVsSAnZWagAABhQP/juDgYmkrm/gopELwPJn\nP81ORDSQ3qqoDTO/iHW4jWAoUaLW9Nwuc3NNjYOg0Djy3HYsa2+jiPS8SQIh\nmXwqBvBsMMby1ZLDRFDvIzmYd4s9FUPfHwOdZYVZFRwaITIsmZNnSjOv5ZFs\naU71Q4E4QU3JIejZFhKSzNX/A16qkDxWXDjIpwqR9ua5Oq7Zc6vvP5Q/o44m\nqPG4jnj1AnEIIHKkuJuK7FqDfYcfjakpN9WNKPZL+K6ONpZyvs8C5OafMAeI\nff+KS3YM0Ejfr6FtfyXExu+R1KiomDZmIMfOfj74o55wi5p6ceG/qktNl0Yl\nsyI19LPtIYlqPPIVlnuTWtMKjK9KfVEDU7RUWCXXh16bfyhn/AsVQeKnwlAs\nj2TUxKbBuqhyMX9k0i+B/mHs0RAgiKUNfXbOVdcb3yt99DFJDET7u2ZzZo3K\n9fJtxDiuDfYiyonhPTQbkoypr25fjAVClPhzji67EClCEwswW/9z6zej3tHN\nvbmPhPugdtWM8NffxlhkUyXSXdFtiMtmC8qBaWzNdNC0Pz4KflEEOPxJi9oi\nvnft9L2H5Y0knE3zQtblB+BnTMR00W1GE/KTJSK8gjWWzOSbhNSOpOGnTNoD\nRyvy9NAJkqAauhG+ZOu5R0cDyNuNS80XJkaSGQoP5ltoBT6z4E78JJy1WVnR\nSKUG\r\n=8GHP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"380aa4384a9569da7b6c416d1b8bea551b44aa78","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.1.0","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2_1588152379693_0.4076100057972263","host":"s3://npm-registry-packages"}},"1.0.2-alpha.1":{"name":"@atlas-engine/iam","version":"1.0.2-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2-alpha.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"250deb8776b1724572c05b99cacbbebb642b6b35","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2-alpha.1.tgz","fileCount":30,"integrity":"sha512-ug+6oxb9U84gMER3LorTLuNCcb+Q+zN27juhHq0Yangvjo7y0o7nR0bmjr9+qb5Jc0KfCeHGsN3gmtIGy/LqCQ==","signatures":[{"sig":"MEQCIC0uhkD2bCX7Ee3NgD7DnM+0BNbmsnMEaY4fah3q0jmJAiBbGDDgZzqa5dla+KPsltDCyC+JyrHuUXOJgyUjmtK0dQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesRQjCRA9TVsSAnZWagAAkHsP/0gSLIeGW0rTfjp/G400\n3ZDYNI69s++03PBM8wth2FjRNzuFzbkloOMf1e9cGje2ADGIYGboupM7wJSg\ni/qlbB5FBRl1Sb/strU4KN4T0lMVKlu/N50qDvFtYdMpu1HGGOj/smKrtg40\njRZdSboNLQnP5fzuyzYAzLzVgTKGys0+MQrMsMp/yQM8Ecj99OlbwgP+TzQV\nE4SZOFRIx4TKidD89EYDBI93GYknIOi/u90LPTQQyOADz1Zj0CHNkYnoQue/\nFM/QIyBwL6kLlyYpRi24IzgzHkemS1wNb1YZTFcBoOmrBcZ+f2Yp+VtLcv92\nrXZkxsVYvVweyIOBJyj/jrYQoTwivCZIIzFwLHzJkh6rq5u2Ycl0XZBeQb71\nk2ZznxlluFjBiGgf+I7GG5q69/jKM239M1U08AUJqmasRpsR5XV7BU6gzeRZ\niNlElCVFOIc/trrLzWXFLaQ4HCsjcgzqj3L4ATRDS314JEGcFz54hvpv74lC\nKn48Rnqk6RWaBqIdsRW2Tfak8NuaDoPBj+dzAbyPy9N0zO4wDkh7zF/kH16B\nyuUYovaJet/IDtrX/xj+64RzxnnSl5BcUAnPTKYVEb1fwtZ0z3vY9/+8R4vi\nMTHGafcouHQYvUdmVURY3T7zfopOuZCo2Iij6SJl94Ys8JI6riPBVt8Q1PrA\nTnV8\r\n=Kz3B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"5fc98ae9f90b9e6d4a53c8051bc90bd041bacd0e","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.1","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2-alpha.1_1588663330543_0.9632400523434159","host":"s3://npm-registry-packages"}},"1.0.2-beta.1":{"name":"@atlas-engine/iam","version":"1.0.2-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2-beta.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"a6cd938891943baef5bfad4f818824fcb38a4c46","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2-beta.1.tgz","fileCount":30,"integrity":"sha512-pv1lrYU0M89HT2RGXeHNPGNwrINV37ncFA0vrRugZq/BDP+zoFGgfe8+Q2jW4LpaK6DNQ0eWeoQoIbhAE+Jmiw==","signatures":[{"sig":"MEUCIQCSGJj5t2FbPypbgvcPbEUxIojM1AxQWa5jXhG3AADOEAIgMPUFZatIG1DxNKGNMSjoZ9fKFTX2KjqIiDDyTdm3E7E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesRQoCRA9TVsSAnZWagAAX6gQAKA1vJ0PxTx+BtdYyVx1\nw7UMkNlgnHmHvE7hsPx3kem+/0XGz7Mk0PU0mQIXd8DY/4E+cGdeMvrVmTfY\nN/W1Gt2Gg8cPgPMTAkxEX4o3bBomAcQZ0YRJ4vFyTfG6SEogg3wmTWrctGTY\nH3CKX/SyJgld9OKdjC53bp6LGgpUD1MfYi+wwsGdx2sToftvoO+UaEB3YsZD\nesfwQdZ2wXq3TStTtH3EJgUopEufmSvAY62xhwFQ8KnxqAV+mbPIyWTOcRNe\nspNN5Un9siTSAm2aP1t5qxvbI1/uZWNJi9HewX30BR7y86fqvh6wFREIxB0W\nZP85+nlvB6yvSkxK/b4To5C9NbT4nWhzw/uoW2jKLlEZV5c0HzmW+J6b2kns\nqjvdMnh8a1n78nNbZqskk3l7XhImpKirlJ0lVFp9Sv+GREk8RphSew0dPGUT\nSmjKuQBb54vpPj1CL/4Hbg1swrW5zEM1uCARetlqEzxkgX+6WQRZnnODX3IR\nPoBoudpDInENQofc2kkNTUBrdllNbSauiSukOnXfPy7TwUbGHbtRgpGjbmTM\nls0cBXsc3QcPylT6IU/rq2+JK7nnsZF0Rv3Ohh4mW5pR2uw7rmdvb3DQQUuy\nrsIps/LfJ7YuaC6ag2WaXMfV4LEUVT/wq0KGIQaYXvdYOg6c9HdUdsiRrbr4\nJ7KR\r\n=A1yS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"726818ef6edab89df2e0f8a56946ddaa8a418ae1","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.1","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2-beta.1_1588663335945_0.6074058131373063","host":"s3://npm-registry-packages"}},"1.0.2-feature-470a32-kafboypu":{"name":"@atlas-engine/iam","version":"1.0.2-feature-470a32-kafboypu","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2-feature-470a32-kafboypu","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"3a117457da74dfbbfb32a5ad53c4a17fb41cb560","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2-feature-470a32-kafboypu.tgz","fileCount":30,"integrity":"sha512-S/UoXk4+dknmEWephaO46BTvK7uvuVSmZue/ThGFALLlgbxaylRNCm9zHsaIBaUaxmrlpm43LG5Cc2Omh5DFEA==","signatures":[{"sig":"MEUCIDd/EF9j32RPC8RYrqGTjLLCZWw788xpNErbDdM6aPnCAiEA6zVoR4lWF8VJAeKz2nK1zoRI/85LEZFMJbzOTEHr9eE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexSKgCRA9TVsSAnZWagAA0ykP/11Us7fYt4LlV2Dz+95X\nvMuB7PXbzIlmnv4qvBCFOapsc8K8afsyBP1lteYibVY5XkfWcIARmCWT7fYd\n08T6iy3eRrfZUFJ6BeYDhOxvYf46w5Kx0hSQsIqL6IqEXdpuC8ahzlYab5rz\nD8uyQ2a3aPm/09MwgFA+sHnbRKrZ0TRcSXkBkAZfguFphuVkuRMGS8Ugu5mK\nOAYtjD6EWYQXPyNCabAjHU2yOUBIhEWtr5MkJGeC1o1zGmPxlKcjjSFh0Kdr\nLx/GSLBUWYRSr2BNE3TOMKjiXki6FB1G8EFmgRSZlCLwoRkRGjkJi7Pp44wN\nbdulxt+2S7ehNBHeq6x7D3VTM0AUv5pUSaIWPnYsphBuwPpy4nlnJ6otIP5G\nALlEtvAmkk7t/vblZ1PDhDdnD7fQlWqh5uqtldYGvGeORYxK6u3zypZV/3B/\ntL7S/hZTYycDfLTYUFhYUnzsi+1cTMHYgEY0XGIBaNFlCskfTRTh5wKbRrzI\nlPQeiNx5DBtd+e8CQHTATZSjbXiVIWxqqaZWnnwD/81CCF9t9O7hJOGjPl8i\nMe2e5MGXH7d40OCWaQxy1/3huxQqM0/FnEjbVnQUZToUCrFbMeanC5DeYUD5\nHxwcDyF68QS6jk3pYDVWVcdcPLcssCzSnmu1cVXdgWnAYe9M7DUNZfFYZeXS\nb9ED\r\n=4dnO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"470a32ce07e995a85eafc44ce1543f4c24cb6a51","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.1","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2-feature-470a32-kafboypu_1589977760021_0.13580442140581006","host":"s3://npm-registry-packages"}},"1.0.2-feature-2b3ace-kafby0h1":{"name":"@atlas-engine/iam","version":"1.0.2-feature-2b3ace-kafby0h1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2-feature-2b3ace-kafby0h1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"53bea8c727e6006208883f97d95a72c48e49a96b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2-feature-2b3ace-kafby0h1.tgz","fileCount":30,"integrity":"sha512-jEX90L7pHohu5qy0v2jiNwI7GSjgpvABfWh4Ztf+elgNmIEVrhOQvRzZQGI7oEyV4z+gx+xo7Yka4uDPdbymhw==","signatures":[{"sig":"MEQCIFX/DBzz0/LvOrxU9RmQRTlnV3VtbjAz5O+fVx/RNZUTAiA72x+zUaEVlk1fNQgSpVLuOAFDERZKJ0WSvMyI3rlBNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexSRFCRA9TVsSAnZWagAAY4gP/35B5tCYcuUtukCnaxY4\nhntxWNDFC/9a9OSO+MwXtfrit93ZJNbS5Jqfv5ciy+/Kc/w7Ci2BwuC3eXYH\n5IcWumXoWR0MhAjTtpKPAeubg9rb/dkuY2n41yi/tpkKY1g5cj0iSHjn8IbJ\nHze9+F/k/odhBYl12AsQ+rsYTgl+ywUj/AIJLf/8UcSH/3dEbCosc2//OzmB\nmSWRumf4NPgrXnCoFcdeGKidxXLTxF+PwpdTOFLHRyiGE2eJKH3bB+LpSaal\n8b/3FCrH8MmvFUagmDdYrY2f7Bc+j5bEonv9fGMUYNEIiDgrihGxwy/bSx1L\nWR+BKnz6Y6uV6X66cbeXbcFCS0rv9RcQFmCS9VB6lKA5N+mc8cdlPrglPi6o\noONd5ybOtOT3Y3U4EUH2Ww5G35TlToVtzKkjT73ZF7Not1l+WKGHnCoYF2uA\nmApzicvjvJkH9TdTuh6CwHBAtejzcwJD/paZ2Nd7kUlOy0CMILA8JQ9qwyOF\nkiZ/B0cZZX0eASmOvkcFF5TL8apZ/E4p8epdsA/Q5Q0j/c1EZlUf8Z/0CZrA\nQUzjFnZfqS0EHfkPY3TsKIn8r79Guo5f+2oZ3kJ62kI/VhCdrz8iOUSy/d9i\nIv3HAAuCE5lBDpZ5WNofJ2FhGe1jhNUJCWLqybUx1QvwHjFtETHbCiw2dflC\nKye0\r\n=I9NB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"2b3ace64a2cf88276250be9c93b99e702aa5cc5a","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.1","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2-feature-2b3ace-kafby0h1_1589978181159_0.1924341637583551","host":"s3://npm-registry-packages"}},"1.0.2-feature-684233-kafcy9zi":{"name":"@atlas-engine/iam","version":"1.0.2-feature-684233-kafcy9zi","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2-feature-684233-kafcy9zi","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"e9521c0a643b82d3234409b5d6a2e3d5e3cb8184","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2-feature-684233-kafcy9zi.tgz","fileCount":30,"integrity":"sha512-bNtWIfO7qgs4udrkSvYvXeGsISg/7hlehO9ZlWVdmo04dvGJSFuZ6dJJuOG0DjFmuOBqrgAToxqQJhOt/leKzQ==","signatures":[{"sig":"MEYCIQC43fQEHPMocu0pMS2pmA0QnlNfr6ZxxEqHH5SLGq/RlgIhANs19gmzswccqGsprGlwIIBRDEWRYQVTkYHoRcEmsi0m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexSrjCRA9TVsSAnZWagAARbQP/3+aGYd2XEPH/9CM8jdx\nJWVuo6smKkT3CT9pw/UbDyReScxLEgTlRkWZm5Xe7n9m0xqWFqEp71L6xOQg\ng8RiW/8cjNSxvkd7hoqg+ZTrvA3KWHopT4kVg0WDw3tw/EGTGPQWFUU02bUN\nzDk6rdjqyfHozRnivxUUQxVGFB2NFU0PeCKxwYRsIXUlk955DlLTYZpF80S4\nj1A65FrT9ZA58qQdXu6MCzScybuNVO8PSql0FbAEkGzhFXod4UEJ/5YzvpVw\n2weOxCPTQEgD8XHoi1MOj7RxgmBIrIVrTT2nZ1e7llmpgRNDTdB8rFHYRsCD\n3ek5PVw19j1CiJwAP51rWXdbbDnE2wiYmdkrFxTZsSFdCmLp3KYpkQXfS4WK\n99q+yGBmQevXTk/abUb6IO4kQnshOzIDMdWUaPuru5bNHkdmZW1sQ6CCuhEz\nE26T4pxNn5+LXnkg6P9Rb8xvEhIaDGH0MAmIHTeQlhGjuH5FbVslwGMW/2aI\nW6D3wbL/k6HvglyC4oYGLQbuwzFY3H+u3CQ84GTnQ1env+fvSzPCHtCZ1+no\noF2QJ89JIwHl7OR7jc977BN7gz3kR+IEMOaYocxEe54uel/AZnQEOO4235DT\n8Z9rkqMfwITFEbrQV1rCeySe2wbunsUo6EFNVRCRDRMC8YUfw/JXdIk7QKDK\n9vtB\r\n=3VDN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"684233c26393c4cf572cd98497feaca98b75b1ad","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2-feature-684233-kafcy9zi_1589979875263_0.9435579816282398","host":"s3://npm-registry-packages"}},"1.0.2-feature-1388e6-kam6ynf8":{"name":"@atlas-engine/iam","version":"1.0.2-feature-1388e6-kam6ynf8","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2-feature-1388e6-kam6ynf8","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"10a22bc9fae41377f4773a9d898f889ac5e5e865","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2-feature-1388e6-kam6ynf8.tgz","fileCount":30,"integrity":"sha512-8vqBmhFJC3wBUKGt4jm95hX0maZIysCIfovp3/01B/2t1uFf6EVp9+RGBftT7USZbHrDF0YTaJ85D4epu9KCMw==","signatures":[{"sig":"MEYCIQChm5/bolsoVg2NLzM8XLsnOY7Hq2mm/qmIJ+8s0k0vsAIhAMpTHksTmfUsL3rInOGYyTUDchVaoueySSz8069Phkd+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey3j6CRA9TVsSAnZWagAAQyUP/j1kkgo+pEBb3y5U3hjI\n8d2BR2j6DPxSGHyHYLf3HCMjE3EwFwedgLfeNLO8ZO59JuUIqEElCBNvdoJa\nv2sHDdQPcLteFhEIPMHCyTjAd15u0hWoKcQOysDvOaPUfEWOTq6/ugKwXhYL\nqxqV9u7lRAoFDHMs9pCKOKpmLo+5zQTtWXF0KEJoFsPuv6suAyYiVVkkEQKU\nZknPBWDzraCuEg+oUkQcpy2i5ALunBtcGKK482NmZJkrHLuOrpsVCABi6Ivb\nLgzVlzmvFrVccx5mDcIpY2kSUNhLNM82zaJmKLtrnpWiun7CY19ZUd0XteFy\nwa2U7mpTRGRQSLhXylHiocQSzB7x6h0Dc+Gk/KnVLMlR0dxjSR5YtM4fGEsu\n4vvd3Odb6b5TuV0Rnq6Yz/7Q3N23vXe70VzCzLKT3tnhem/d6z6bsFxuxecw\nx/nTFyTMIvXuKXf4JDKXBV/31dCEnWgWntZuFrFVdJD3SmXhO1f4lzhTrB4r\nMz0+PFU/LSY/jGIo4bn9IMBPOIsgz0EfiJsz+jdffl3NE9EReglQctsjwR8F\n6ug6n1XIZ2hq5lorYH8G06+uLkemsQx050MD9oG8zBALoecdmu2beD0mcQg2\nG88GqMYqYEIPh89lBMsstKI/WkgBHakyfV3IlrAToDxgPqZS5aiueCsPu5sn\n5Zvr\r\n=r4ka\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"1388e6fdc15be22596339a02f49f4215f64e591f","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2-feature-1388e6-kam6ynf8_1590393082426_0.6297597999720366","host":"s3://npm-registry-packages"}},"1.0.2-feature-4cd356-kam820x1":{"name":"@atlas-engine/iam","version":"1.0.2-feature-4cd356-kam820x1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.2-feature-4cd356-kam820x1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"792878b7bf97b785c249a4eb1f6ce71afe9e2dcf","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.2-feature-4cd356-kam820x1.tgz","fileCount":30,"integrity":"sha512-RMmBeqJSh9fW2GW9xW/lpsZhS1Euk+R7b1BAupeqLnRI+eGaUj37tCd2oI8oTyXvfXbiafXAVvKK4R1hfF6dhw==","signatures":[{"sig":"MEQCIGPyBQ01Y3FECTuLOjM/o6ph7p2zI1QaDouLsd4CA+AEAiBB0T2zvOqLjSZJtZOdkLRYOd6TyhfJwiT2J2GAJaQwPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey4AnCRA9TVsSAnZWagAAKfQP/ixFA9tpfy8m2le5EKK5\nkp/8eHKeiT9UtzC2Jf+bZJ549IPsjVfeaUHMk4lsEPQp5Hawh3vPyC6zTkdT\nSLi7WXKOOZQQnatofkfITfT/LUmnrafkVwGEdIxkLusCcLwyPuYIkJjtYT5m\nLnnvM/oJrtjO+MbFcXQOsLJTSGvIJ3QIqb6kWgNiUbuxS6OEIeSq4Dv9Dr/P\nYoWuYK6AB4WPLltuiNJs0fMp5/a6DelKlhn9ZPbsVTYaxpR243okKPHtJ4ll\nnS+kBqCkZx+RSFmuVN7jvgmC5dL6YQKn7LSNcWr2UD5dd5snkkE3j79YsN4L\nXzqGT1KuEsNRFr+kM3tZ4UfU2puRiG307t7IpqEm+2Iqw+MYeURAm5cWlsPQ\nUBKtS8j99ek7doB2EP7KH6f6VxBLXz9G4C5NM5sXuyEHqlMP7vtH53Nz9fjb\nfTe4oTE9iAfhp9ukDXsnGiu/5l4b820p1p3fu/ViKictaO0n1M88PnenBeRs\nqOsFJ462DnXeA0CjGznSlP8MSW8o5KWi/PafVzDs/hJU1iPCgVBmG6Eh3LxJ\n2E4wqBFHpWG8R/XfGzl3B/cQXmNH0Jmfiad2n34Cp9FgObRvQw+8tsbMakZR\nB67l5LfHlFJh06qB9jWj+WEG9dAAtUz+7BNIo2b8wC9zz8Q0g3ytEWIKzjQk\ngJ0H\r\n=e43L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"4cd3566cefbf6abaab3967ac1f2c37abcfd475c5","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~simplified_config","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.2-feature-4cd356-kam820x1_1590394919204_0.28916939401068764","host":"s3://npm-registry-packages"}},"1.0.3-feature-62a38a-kamliqur":{"name":"@atlas-engine/iam","version":"1.0.3-feature-62a38a-kamliqur","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.3-feature-62a38a-kamliqur","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"5c1cd7d2f2f1abd009e2e0817f8a4b77709f15c4","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.3-feature-62a38a-kamliqur.tgz","fileCount":30,"integrity":"sha512-GtIgjdKPNvJDAatxthn8YY/zX2hM2IIToAMKZyBMMuE7VIZlGeflq95EA/nll2S29nF/Yb4maCbYvCJEHXOa8w==","signatures":[{"sig":"MEUCIDETaqFkOEk/A8PS3Q24fDI9KBo12ERF1WOT7S8U3A69AiEA/c64LX+SEo8Jr0MI0LS5QwsxGEdq3Mty+kl8fqI1AiA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60291,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey9h/CRA9TVsSAnZWagAAm3QP/0Lb+pcS/xkJ8Kmpvngu\nGLrOP0ZsufJql5c/FJ1wNVcJxC+aJVzwsxaNjM3EXT6wJlcI8vtqRPnztF2n\nessTs7bOPp4bOSn32IcyezyhIqcm9lji7X0n96ORx/bYv42hdMxOpmRiFszm\nEl1Q3VDCQNSNCTiX80hj5EFHCokV0x2hC1LGoB7fPzUIYq2COTpHediY/JPz\nmw9Bs+FBjKJ6i5NWs0RvH8ZJR+4QSBuC8V24dUSVAHR1F88cEUMQM5dfp8pM\nunkxaJ+eYPpku+80yXAeoI+6gNIwHEAWpCEPEVg6Awt7pl0FilogZPvQxbZw\ni5zNc1YqBe41Xmiz04bgViX7xrlWt6XPQTPs6rdXlRW/H+xnHmak2MTCVdS8\n10uXPM55AdxWshL73hBAS7yBkk6Ix6dA5HsXn/J0jOnFrmSwmiAa306aDTTD\n5NNDVEr/YwqLymgjJsnP71tu+L0EBcRC5AnxVLn8D5e1j1tIDR5fqqAd/BZ/\nuDrhPRAILSRPRA8mWNyw5ZCUcnaX8as7aPBMGpao9XRAh/4ROEN++c0G380m\nM4s8mrVU0TNw58RAUamARaCFwI5LYUNG0txifdoojU/IHCb2paJWxL7r3U5A\nYC9NdzONeAUlMolXIVRHRfk4rGYB5syDtfmoLnwVilqtBA43jAYaGKijuFqF\nId5v\r\n=2BXD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"62a38a6f74761a7b63c1b44cdc934094e7c12bd0","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.3-feature-62a38a-kamliqur_1590417535241_0.8941798949331581","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@atlas-engine/iam","version":"1.0.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.3","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f7aa44c46d2b5e45bc8b466c4b8d026699dfb36f","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.3.tgz","fileCount":30,"integrity":"sha512-IpKkHSMamf+eU3nfEeAoQCeA5WKrhJTEMqlVqDl45WzuKT/jDKNBqMc0sRwv4UG3C8/APFn1xTPRk0a1zGhBdQ==","signatures":[{"sig":"MEUCIQD5gNX2suzPo+NV7nlgPHwAyimqIAxdUn14lTVNtN0hgwIgDDoq0ofXof9KrabMgHStff9vbKrJ0+xIClnJ4wBiq1c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey9loCRA9TVsSAnZWagAA39sP/3O1/x4sMC0NfyeMZ0ss\nmrWNar+XoajzlUQE+zPn2qjtTqXrJM3MFGCZb018nrEPsR39FTufA+/BHvKI\n5xEaZSR5bgJSU0KWUJrLWBdb1FGHx/a6e0gU4vLzPQNivn3I4tLIsXwczqFA\nlXkuCV4wHcbjD3Aaq0AVoW1POXvuDCO/oGsvXtjh6olnIn3UU74xCDFv4Irh\nf3mbXb1uEnkKK54agx1HYlDBP1+n6G+8kSqgkdnf47civbrtTe2Bq32YKd8N\nlvyyxbvOa30+se38aacaF9aQ9G0WH4iK3q0EB0xoYfj5TNz2aiWL+3GuNLJd\nTH64MiMeCJ92OMe0VTgRLn68fwYQsM6fTfKyFlPSLjiwI9ZX9rRbVwApEO3h\n585gi/nrXD5JP0YutxU7xCVweikkmqMEA2TM4spXLv+h0QodsFlfWVY5Bkka\n32EVnXZhUmBfub6lgLl8tKEZWQq7ol926UvuYNn6ohPHvYaRbDFbzr8k+Ckj\nZujJS1i/n7NgwYJym20fQEhKorimUFv5FR0YrIbglgsJh1t8g11KKto1U6vi\nNWfrTB0z/vjCfZH2FtEJoNbAZqqnFsIl1d11rjt9pS0fT5k5pyGM2377ZsjQ\npR+sVaI9eNteoCUQGJIxRumW7VBDaRqSras4MU8rh7Dp5Trklp+4BtPK2v41\nhJ1+\r\n=YeOP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"6f31fe7907f4f5584b2a397dedabbce80bca01c5","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.1.2","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.3_1590417768306_0.934217905575045","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@atlas-engine/iam","version":"1.0.4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.4","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"717d5197f91b3f506e41fe81507b9e23366c38c6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.4.tgz","fileCount":30,"integrity":"sha512-kvzPgcLM10mRGIKQPTXoErehd4tdNUFF4VZimc6DBqCuMamKKg6BqIlF2fOGdaoiqXR+qoVALJT7QqPQHpA58A==","signatures":[{"sig":"MEUCIQDkLEbrs29BfIzCF4FznaIlT/R4NC3gJJrHuMn1Mu04VwIgN9M6gS8YKtQnQLPTcCFJcC2wruT1RMN0Jq0wAOrIM/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezNDCCRA9TVsSAnZWagAA0ncP/itupHPdl2O9pchBE1IP\n6rqMnT9OtFpWlDnRaHQwu4d8WaUQfTGaLLCPy6B9HZzU297qmNABneJqFj0s\nhoB35w9gx6mdVOu6MALmxiQ0eNb553YLEXPwdx4tZKuIct9x/oTkomHhAscx\n0A6T9e3UmNuMrR+BTlP1CEdg1ryPD1yuobXI1Jate4ibQZt/+CEQcxRz4BLX\nHOd2O28IOnyiblK41h0q7GKDphM79IOuyjJHekjGrbFMHiF1pmV7lvx2DQkD\nhxiQpzIpm1HyAA4R2mrNvTayVt03s4LlI5kWgDdPoybX6uju0pIynu8xvmEF\npEJCVXHJ26OhAjskypK5tgMEyig/pmrZFiBzfY0+v/8g2XehnleYS3uYr6nP\nHiMn3/YJu1aM+ZGRti7OONc8UO99u/xruJABGaWhtvGmapyBhTTapH4s+JC5\nR+Uuoh5b9Y2cdSdRxuy5DtXns3hV3s/gwVCK8fIoVPbT7mHGyXYdZTqDbyHF\nq3RumnUGwJ/BO1VctMhHyjeKgbSJOf+OsTVh7I4BatwWfHlPmZI1H0FEvDHO\nDridb0tRnrI7pW0cFwcFHCXwYMnHaTgUW3hk/xjBKb5nmT24zodR/EQPY6xo\n2spnr+dfdIBjan9AebFWsJq7VivyRRodVyOc4qzoKHWgJgkS+p+FhnSqjMTW\n6Wsg\r\n=jOQZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"66ee54e3aff65180821fc72e67cab73c1d35ca5d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.1.2","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.4_1590481089967_0.6557392123710539","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@atlas-engine/iam","version":"1.0.5","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.5","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"b3a629807a54969ac6f86d636321c7ee6942771d","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.5.tgz","fileCount":30,"integrity":"sha512-fyNx4dCPLZcAv7hJubw44m0638T/wH4pcTm5pT+ajf3dtmR/uGKdiulx9NcWrBpgzVZlaDR4c1MHbqpkBGfGNA==","signatures":[{"sig":"MEYCIQDZ3Mgnv8KkZ7zQs2Mry+koFNLzH1q14zhxEu9i7sKpHwIhAKIyidwLFP7DsPq4okR6Bki6ptsXmTFtjuSiNrJbvaAV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezjXOCRA9TVsSAnZWagAA3e8P/RvfRVPHwKlx54/AiAKT\nzuQ5zgHcNEUsUsxbf/iRNduiknaj/LqXZ9NkkzzS9m5vgQyUiYXarMNXAxsA\nFc+kiLee5zaEVtm63/ERUnQMesvv3XoR0dAwbC8506aNDkseZH1ETIn4Tgfh\nC62W9kJ3t1I8t/JMa8lWH/ifWNYXuGQvtEdp1Gapss1AK1H1qQbV0R3uTsGG\nuM1l9zTIP01STnvDbaQwDaYrSECaNUpV26al1ONJvlyQs5XeygBcOyKneVr+\n3+dSoHkrn5IkBiNbWl3TGscliD+q+dlG6dNGTRHZ7Tn3oQAJXNTCrqUyf6/m\npr3UnkJMhmK4kZfBq/5qq3wdIqNgips0MNPUh/Lu0V2h5fkk206i9y3GO1Wx\ndIfYoeXhbVGF0NNpjnAMBEZqlPV/uD1UTL6HlBZdFBj5NCwJh88oSEg9SZ20\nPR1cYRLQuNpRol7y7rU4E9aVfOBqp/KBYfQgkFNwY+IF+PedxunPENaLtfsX\n29eEUMipe8/HvCtxoWxxV4rKXSOcST2U2MLLkGt/qNonWu6RQglghwUQPyMk\n1tACzTAJ3Uq3rOlZb6j//9DUKegvHZulN6VOE8cnmRJFe7i+yJQGCI0z1fEH\nX/OR1wd3MZ2I6C8f/1feWezRvzj5uQX7+GNbu+5wNwMgvl0uMlZWRQcrEASd\nmp6H\r\n=AfFH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"6dcd73ddc897b2a55285c7e5343ea88329ecc1ef","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"obivarg","email":"christian.werner@5minds.de"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.1","dependencies":{"moment":"2.24.0","inversify":"5.0.1","loggerhythm":"3.0.4","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.1.2","mocha":"7.1.2","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.8.3","@types/node":"12.12.36","@types/mocha":"7.0.2","jsonwebtoken":"8.5.1","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.5_1590572493737_0.1350731308705937","host":"s3://npm-registry-packages"}},"1.0.5-alpha.1":{"name":"@atlas-engine/iam","version":"1.0.5-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.5-alpha.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"775bc8dac046b56e98b50cbdca921909526212b9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.5-alpha.1.tgz","fileCount":30,"integrity":"sha512-uPjFr/HQy3pmUKq/hahPYgKI3a0mo0Jv33b9YbS7X8E+fhwJK3zbSNyfh0uEKp7pAHDm3Fsyjep/p8UmmJfgow==","signatures":[{"sig":"MEYCIQCKDppZxWOQ+xVtgSK4gaJo4xv0DuZ3iZYQgz5kXQXPSwIhAL1U9mauSpnmSdAISJ1i3x0DP8isF28coIdeRRDBUBag","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1jBaCRA9TVsSAnZWagAA/lkP/3KYZLUNA1hHBNQpWe7o\nNJx3Y3j/30OLGPql+aElNOjG17h7eKG+LsyC7Ut85Kpz7oLsqueDOe8p8ICI\nZD/hjwSel0p7G4u5ziV07yEA0VGW30bpV6uaJCBMXD1ctiwsvxBMWc/l1WDw\n7v6HuALueKgAKO/KY4OWWv8LubEXbVIbQE82OGkk0SgbrnbUNNxmFGFaaH0e\n0Rvoh4vv/0n6QYR0yg3UPNsn8f7guaUgwUqcGMvCvZfGbVYguYL66tMVXkLP\nPt0kys0KJzmDl2Be3xB7I72KJ3E43q80LyQLX85/DtPzXbUM7SHxCyE5qlmN\ny597Z31sViz2/f9H3twteSmWv5Ad/U0St2tsM0T//1zY9lUE1CoN3XHwh6/m\nLHY3XgygFXejpncCV3bmF6xGWuG9s80SEWAuJ2X3aA2Q2GX5eDEM3dS8uy6s\nJWE3GvUuXSxwmbARKkTh5O+K6H4n7fpdIb4mj2X93BL5B4+Kd2z4hoxWQe11\nFT3ZM656isw0T9ODYaXTZd6iw1ZWj2xgSAAKw8AirxybHTHDxYyo2BEKUdRf\nOqxx+aGuwOY6kgYh6ykX99c9xmz6rxuKXoQgfzCfv68jaJ38h3OJVwytBMov\n/WqqfuukO3e9Zuv+9Gs4iTp1Luzvhd0Al5PyAzYBkCyCZoh5G0z3n0p+bTdz\n5GNx\r\n=dP7X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"2e2688a5c3907f03bd956215a9afb9ddd9e6d858","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.5-alpha.1_1591095386502_0.8776065373012754","host":"s3://npm-registry-packages"}},"1.0.6-alpha.1":{"name":"@atlas-engine/iam","version":"1.0.6-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6-alpha.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"339fbdbe26a84539f1325c0e5ae7cf4126d2d126","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6-alpha.1.tgz","fileCount":30,"integrity":"sha512-jnXVQkriK3vSyNdRyBkpyHVa6Lnw1YSp4AsxFTlhQ66Vy2nieq6UNchXa82bAuxBwgOU1QwpCag6oUV/ja2/SA==","signatures":[{"sig":"MEYCIQD5zlRKDsArYkcNkI7FT7Gt7znBoKrbJBLiNQc9jYDPRQIhAPX8y0M81PcSlghG94/0W4ge7k1Rj4noqx53V11+J7X4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1jKVCRA9TVsSAnZWagAAnTwQAI0ds5MWGg2LZRKTzz+o\nYjkp6d6oN8IxnBYsmKnH7zAdEGqRjpUccyBOz/xIYT2UO0jP9wKovKbSkiG5\nlV6sRT1pnR9fQpFmub00QWtNGm2iKylKfxTuUskemfQRoq1bGdpo92YP9mnR\ndjgsUStREVxvaKbVw6q39yp4/Zd/us0kc/hWSAr98gXNElO9SYjHtb6lMTn5\nkbMMuTBfmEwDBy1Caw2h6rinPODko+0u+mpNPtJ1H2PSH4i0qHfspTSkIFRq\nqPE8mQkyDJzo8fc1pIohlSbAoQN4nQS2Fhx6V1Hyw/uMScxQ1Yqkz0c3MCzA\nFBxOunmWtw2rhoIv896Bv5PlkzHdX1vRpN4RFFAVHYXyqTErV4gVXtM+lei3\nXZtwk56cgscR3Wt072RYbLca9RFVt3XpRlXETSgRyvE7V8t47omX9iuu9PLb\nSxD6JsGh6uPl03A51C7jS9rRqcdhaE1iB6JFBq+1c2/KJBCeREUXa0giZ/VL\ncFtDtNPN2Ipo+wDWkUwbW+ZeCG0qo1I3lC9WJqrTFjyFU+5MXdwclxvc6Gpa\n21qjJ/EIcF9tqCFrpynRXlg0sOQ8W/rLOgKug6AAlilDbNYAujRvuKf5PkMR\njuOAfoxsFWUQQ+5Wf9p8+lLia0UIoeBKVmVEsL3KEJ4w6+EKF4ofLEIwwYFB\n+CGV\r\n=qMV5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"bfaf33fd35fdcfe12379694f890840fcfbd860f7","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6-alpha.1_1591095957167_0.24321739742786708","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@atlas-engine/iam","version":"1.0.6","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"4b6d7268592118a989e5d2b30ccff4b04746ac07","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6.tgz","fileCount":30,"integrity":"sha512-cKSE15ShxwmJLO6ajG9HeZvYpMUzVjKWEibUAjOqViqVDB55k7Ye7AKVuBjON0vUAIZc9vUlhWn0+XUobw2+2w==","signatures":[{"sig":"MEUCIBDUSoziDp4Wf64kQAj1eXNL0QcuLjB7K4NHfW6TqkgDAiEA1EcJKah+QQ081oGC5M5UzU9ueXwi0NH/PVaZbKfAEVA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63959,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1jKlCRA9TVsSAnZWagAAtQ8P/RiiTvn8xJx2JzvAbcly\nWvRzdeMcRoA/BWJL+Qyvjy2C1plz+OtZbll9Qip2mV9sUxnSZg0BO1/Gu6ku\nTAUYKCG9pWZ9epIeXRPyk+iJ1Aaht6SuKONsRHzX0PYZ21OYEXj1uvOMZIWl\nou51hKsUwV+F052IZRc4zRju8lsU52BizjFXs/aPwrZjXuPJOFsdgA/3IFkP\nPDkbaHFyd2DF+pGoq7M9FnesQrgLvh9ww0rel+6rZ151+aQMVCNeRg4iQ36B\nFDbkhIsTUmhRDL4PwFtJyWYxgwt4CBpeNhv8ypTh3O6EtngwW7F9OKduxjAR\n/9H92+Y+439/+2WRPv08MYn6BrWjU1BGx0RpKXFCaliY5FkgiG/anUF8WUsT\nO2uyp3/IYb4SzcBee3J8VdQ+y+LGEPXOLcXCFON4uNFfzXP0byvtMN00qXzX\nOaQm4Xctyevq8jARN0jI1N1jGEupGj+ChfjZa2hzGCTP6I/de+LNA5VH3cIv\nkkf8En+YnL//GSNEI6lo+SY9NuYofLNsbN6BqMLgbxExzMTT561v+K0n8B2B\net0dBXkwboSgmlSJPMsxXKn+m3eg+04oK8ZeHWWdt89+N9U8Fx691d56FpDE\nmcli0wIoFsJa74ukh2MmTXgzDrTi57yuSJZMbGk9KbxFZ7xlvaNIeg2DvTNn\nm1mZ\r\n=jm1k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"ee7d8972ad029248f1ca54e7700596719aa5721f","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6_1591095972900_0.20867895089440958","host":"s3://npm-registry-packages"}},"1.0.6-beta.1":{"name":"@atlas-engine/iam","version":"1.0.6-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6-beta.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"a25465e3d2ea3b64c0a64d50a4f7919952680261","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6-beta.1.tgz","fileCount":30,"integrity":"sha512-l2TXdka+isJ7UVcU0RgfD/xqoIPVAMiVVhRZFqA3KXFtHe7eD4OTHvDV8Rjr5LLnOiwzMY4CXqtRayJsiiXRjw==","signatures":[{"sig":"MEUCIQDE1/Rdif8olBCYqAGdC2WFz09He0mqkBj+9lyoZfzs/wIgG1F6Ub+oPz2OH1GXAeZMIsZS/Dm3/gpBZT+zvuma65Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1jLrCRA9TVsSAnZWagAADdUP/13s/UI7N4esy5YW1TiE\nweg6wLY2LcW0qO4N6B7ZAQquod/hLdt2OxttXO2JOxQfxd9wR0nnGlU4IfU2\nTtu/rTpN8UJoLHcxaOq/X+7U8toiubFnASpxgBPbHNx3UFw6lk0w8zivDbW8\niL+2bpAJDNjwWO2XEHh5HooJGXf6xaPQpO5wiKxOLRrRPyLRyzPJS6mFCzgs\n1vTmGcS0p4rjagqCr9ORTiTqD50JF5NpiexhkiP90BvNrYY67j5SigUtapXW\nYcxHgCYtWsG1Yc0KwpWeECQeVAguQfrcQ6Uph7yGR0R2Lqm0NmaxrXLCXTgi\n9iBeg82YKMF3KlhZfCZVjLmYrl8LXAyRdWrH5f1I2Gq2ubknI6aYBStbbo+z\nIkm0tkgOx6BCLTm3SFwAMrEL0XQC0wC90dsALpwlmYSqzFWrhE3Z0yy38PFc\noM/QRB7noxLXfGqMs6XS3o1eg8WJA5rOecUMOnUmFj8ovOxGsV8pULmAurx5\nu3NbIl+mk2wGRRhOOIXjIFByjgc4kyccLYdaDVhiOz/mdSBseqmsdnXIjcZo\nKF0J0Hv7eHGGQL+e5iaTIhzJpgBlU8OVRNqspHQxn1iGstsV3GE8YfQRd1tO\niWzMbDR3hZ9ir+b+wEJE0gF8oJ31lOhwQac8l7KyE9tiNCAz/pN7qtYkjKhc\nmd/2\r\n=6b+F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService: IIdentityService = new IdentityService();\nconst configurationService: ConfigurationService = new ConfigurationService();\nconst iamService: IIAMService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token: String = \"Place JWT Token here\";\nconst identity: IIdentity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some minor configurations; it needs to know:\n\n1. Its authority.\n1. The client secret.\n","gitHead":"7b7f499454a98ac574d117021a7c3d4a50844068","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6-beta.1_1591096043499_0.3840945400348197","host":"s3://npm-registry-packages"}},"1.0.6-alpha.2":{"name":"@atlas-engine/iam","version":"1.0.6-alpha.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6-alpha.2","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f5761af64af73a1130cce99944e5a457367759e5","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6-alpha.2.tgz","fileCount":30,"integrity":"sha512-DPwo06DVJUP9BCEiIFGHQ4gCTp98Jx1pn5z3RvTe52vuK206hDY5rdBI3AX7cfYydEKnwRQRuzXOhe2uF4P1nA==","signatures":[{"sig":"MEYCIQD7dbq3WttDnsZfx3lLqi4xJXuOvTd/8orsSYKMqpnpsQIhALXho6D0TTzZ8i4pIGa671kTIg5seSMsQptX1I3A8Bd7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2MjoCRA9TVsSAnZWagAAUZ8QAJ+C5lmkScllSitWNqEL\nbR8bOxk21f83AlZ1p21JFR1/v+Yaqf47Anv0zZWiLLhxWG7ae1762CNPlaSU\nOV+jELnsOmg3LrcixKmb4ldK/tdykU0WpPl3vv+DjOzTz5O0QTz+94BzdM+K\n5EkWR1DtRR5wCG5iTbFznKD5Z+LjdxcwtCXmaJUANU7CQ3AN5ooDBGBT5teI\nI0qxydKTP8r1Qzi4efSX8SBCrW+pyQPga7ieY1F8Ymcbhi8U9bpbZhCTbN8O\neJIvpkoh95EJZUbdn2D6bPoHMZ9t1nksvZBx+kxQvXAmhdss/LnlQt63VVPw\nJWqkEm+M1TVm92H7kefFsl0zm5AQZLs5Kq30vqvPtpEo7XCcCJ/ETsD/g+4U\n0BwH/T+MjRLpaE7k4paI5/xSvpX4wcYJd9afbubiL4WAe8tnNhkgLVdfPM19\nxM0/PWN0UgDUANVRPz5CtA/4OJK7C1rFFERIp/v6EQChXib8RwDauLR5XMPZ\nqZxr6fIePd8vIRra37yhqGNyd1vVmpQHcAKGxOTx47fP0pvXHKYctUvh3log\nhNqPNWXb2F9pHI1i//YCsbhKZelYc7SVKeAtpb6iMd/IDn5Grv8G9FnGpQS2\nsEl5fAKfYaSAeYxgYMthQOCkT/ePPmzJ4pA/bEL+FzvH7Qw9j+vS73grynmg\nz0BQ\r\n=DWAl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engien with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Note:**\nDisabling claim checks altogether will allow all users to do anthing they want, with or without a valid auth token!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"1b2bc8796aafb026a3394045186ef72523f363c3","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6-alpha.2_1591265511859_0.039602163949098435","host":"s3://npm-registry-packages"}},"1.0.6-feature-7382cb-kb0t9n49":{"name":"@atlas-engine/iam","version":"1.0.6-feature-7382cb-kb0t9n49","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6-feature-7382cb-kb0t9n49","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f0160dd36575bbe91916df44bc3a7824c691bc35","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6-feature-7382cb-kb0t9n49.tgz","fileCount":30,"integrity":"sha512-9/1e8ZMeGfO41FyQNNcAuaKTDbI4etE4XcdB4u0Er7hFgFknEdElesQrlVb3e7xhGPhhlnigkDaqcm7DZ8+q1Q==","signatures":[{"sig":"MEQCIEt/KUOsm+2c9EkLBUN7DGGQ+FkaiDxHdkN/5hC0nBnDAiBy/1yAs+Vf10DDl/UdG+uEQqGckGtBdWsnpLcpJKtD8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2PYUCRA9TVsSAnZWagAAsVIP/iadKRvaLjMUKs4MsiYW\nTRLTAen2zLqesJizkSdCrEr23YPPWkV3D3heO8EHve7uwFKHslyPAJIrzdWY\nSoONXmyCGQ6bNSbKZs91uaVAJhFROYoSfiO22CLHWBTZbVvTY73wAUh1DNiE\nG1s9+h31ydoocSzIyg4i9IpMBzElGXgIKzudzdQ+oT2dtM1E/r8r3RMufpjW\nmSBQ4lnf6AHQNw7KUSRrBLDnOasc6oE/3GVRi5PtYgAcd8u/pq5YoaQHVwLD\nEp+LwNo1zzM/6K1Wnd582G+Yo9OuLUlJDDylRllD71TNLjXk2rABl5zeyMbG\n9oGzOzxLqFKcqSluJBrvv1kuu4iY+Yjas6B4vY/bzRyvIXY226GzDrPLxvKw\nXT2mY0z0pcp8ynJ69POGWwhlee62JuYOKjqe41ryQepVA9Sp7uzGW5m62Rmj\nPz+5MjduA9WjS3aP/bijEtUApkjD+DfBnc5UUOiQGq5WN/lZT49U6D5GkuXU\nTgmXLQ+dvL9YXIuWhVoW0Qw1dK4fSgkmi1ROGK/EvcTgmYpkpnZSO4PVAZaJ\n7mPJ9IZp0V8S9gXQuodrbvCP6qRbJ5T7vSHFmQz/EtTmuZKXt5LHMUSe5h6T\nwmqhDN4csXFqhCtTl0vNQp+Y/RLh6GNMGYKfQiiSSnAh4WZd3RKGxymyWuJH\nMwgq\r\n=nLWW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engien with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Note:**\nDisabling claim checks altogether will allow all users to do anthing they want, with or without a valid auth token!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"7382cbaa6b30157453a5ce7a4f4d04d54acdc3cd","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~add_claim_list","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6-feature-7382cb-kb0t9n49_1591277076124_0.04053842355426385","host":"s3://npm-registry-packages"}},"1.0.6-alpha.3":{"name":"@atlas-engine/iam","version":"1.0.6-alpha.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6-alpha.3","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"1d77520f0435f255d2d7e9b6e45ff7e50112b72c","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6-alpha.3.tgz","fileCount":30,"integrity":"sha512-oE6M1o4HF5k4e704roTTQIHsL6H3X7fPuaMGs9Yn7+UUJll5rx9dnm1R9dCrUtlModp3sNJRg5JnNU6J5F4HZA==","signatures":[{"sig":"MEYCIQDTtRLRilVOdWY4CGgtNC3KAJ7+mr8uijY672K0LHbnuwIhALsyInxT5R1HT0IIfQzCu14xwFej5v+yOjPSE/bwjq+A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2U81CRA9TVsSAnZWagAAixUP/0F8y9VYSwlEU/BpFFyS\nmRDClzb/4ZbS9PkXrZ3vAfVi+rHFA1oz9E9+HQ0OwXhOIfWE/awUSjekrBNH\nU0DwPcWEeIw/ayhH90xk0C1z2ShA2w5rxDaoYuLt6eeWmtVNHPHpG/vI0l27\nrBKCFwQk4wL0Sw/1LVlsaRnnFoCN93CtYwRDndouRkzL1zebuOvxrXVdxaNJ\nQYHn5PcPFR/0suLw5lRbVpIy/c3FmBUzUaD08FvElJp+qgOvXjZjx1I68clj\nthUi8kiJKZOwNLWfoQNjfI3KgXYMa43annY6QgRJjJG2zDQ+R4gOqomYkYWk\nxukUeAaVOm60OalUQEwISPbxsZrZSveusrquauVhMN5goe8ZzhTorm+wcn83\nhYQn7fNFS3vpIyTA3vOa6SFCktETy0my/BOKotn2CWXyE7wI5WiOO4w2IAhG\n2SIBhzWfnp4ERB9swkudO3WzzdXlVi+HQq4pi6p0XE4oJTfe1Mc0aaYasb0V\n1iomvlxtPNq05fZChDrVUbbCDSDbPjNfcG1hL0OufsAJW2SV4EWNkSs378QJ\neZWdNzpWUSFaEK4LqOnz6oyAtneHmBST3w4mMgLhemrzTe5noxoOXkFXozWP\nd4PwPDNs155r0tRYRGGYTC5sYdhzXhs+uJ1abfuZ4ooNtnQn0ip4QNAWRdpA\nDIFe\r\n=3wCO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"14f3c6c9ca2e63fe755f851ecab61dcca6cd01c9","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6-alpha.3_1591299892928_0.33082144859700313","host":"s3://npm-registry-packages"}},"1.0.6-feature-9378ca-kb6dc0cl":{"name":"@atlas-engine/iam","version":"1.0.6-feature-9378ca-kb6dc0cl","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6-feature-9378ca-kb6dc0cl","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"77f4a90c2363ea8e98fdb8c4e621b8e2ed5e1b25","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6-feature-9378ca-kb6dc0cl.tgz","fileCount":30,"integrity":"sha512-n9WC+sWvniKTlqA1VwARY/XomUu0v4nRbSOBC2fYVa4A6VALlnbX7Q26Ag9DPAmzwPhwzG2h7s1daVefj4e4OQ==","signatures":[{"sig":"MEQCIDmZ8bs4UXxqi09NoiHkarKJ5qzMMb+6WfX6kZ6fjfibAiAFGuNjXxxezJXrpNAzIMFDuvTrV68+pce62RDvjFVStA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3ha0CRA9TVsSAnZWagAAiPcQAJ3f7HQbPDZFPuf9uKXe\ndO5sLkQdJolI/6ZNEN8fxCLsWUh7E+epyTjDSKMHEKpYDUbLvjF2UWDVJ5nh\nqmQqHQOKCuArUs4WCZXj9ToU7rV0IHKy4JdhanRudzqyR41xvFxQHGZQuK4Y\nfWDHSMrqteoOJ2npqzdc3kBj9gOwi0U4NOnKPDsS4XEeRE4YoyXal1sAMkmO\nWSVFUxqPuOs4zH6z7wuIql3oEzfukXKorv099XwLPgz6VX/Mh5brlSRW/iQE\nME9PdtXFiTtkYmSvp2P9qUp4WARDzUJy9CtQ+N5BzMQ1N+Y1tzRNylyNijIr\neSXD/JumeYBKEtY9b7B4yH0SiVJmS4jvHOWLGKlkl08NZx8n6Kh/phu/MYRi\nZlpDuRVYfcPFxfDGMOF51wc/imDY2nS+Nh+OrkZ1CFeg89SVKCI7PxT6W27P\njf3B94xehER+h6goYcNdMpsO9wJ/ejYhEGPo1n6JKu2EwMuhVSMLAfkc6PXJ\nQBW5YI/u9F9/Qtsytfy3E/9FzAAPLaPvbmaXRrCu8bib6jpUOXXPtPRxusyg\nqvG4n2Nz1hx2ZyexQ9uWf3K9v+v8ieKjc1GTaQ9O8sOj6ksrPkcxzwvr8oc8\nvH7Kp7IBRBOd7Nay4pNUsgVTdMadblSX5B1/HZL01JVpWH+BlVK0ZWHNsI39\nMwjn\r\n=Mv3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engien with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Note:**\nDisabling claim checks altogether will allow all users to do anthing they want, with or without a valid auth token!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"9378cacc7f8d3e25d4e1e73ee73fd8df013208f6","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2-alpha.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6-feature-9378ca-kb6dc0cl_1591613108006_0.6969524507420173","host":"s3://npm-registry-packages"}},"1.0.6-alpha.4":{"name":"@atlas-engine/iam","version":"1.0.6-alpha.4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.6-alpha.4","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ad67bd4fc0a480d1a6af20a3308697c22d393568","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.6-alpha.4.tgz","fileCount":30,"integrity":"sha512-OeYhV/8uW733zBg/HEnNA6BXhAUdRCBe9a78BzELGNlOK5Ny3vqiLzNg8GigIfhBsRrf3B1JmVX/w1HDuYaasw==","signatures":[{"sig":"MEYCIQCYb/NpSY8Wb8/uHf5lWE11LjOz6GsRAbkPPx9tm5fj8QIhAOJlKKQyngvGA+Var+361rN0HiL3gkxn9nPFKqQ9bhwR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3hogCRA9TVsSAnZWagAAL/UP/0r/drITLaKcU2DlZ9Ja\nY6uv/TQlHcYboy5TZuh1E2hUDStzAjMGoSGQSc0Unb90dRWUNNS/AK03krJp\nCdEFlTZS9L1HbViqQu9IL6Y0NPL3lY+MhQMvkfCPLKyu9CawR6+Ie0NsDFQU\n6HVS1RfFAlUvcEhiKAzG+Jy1/o+k/3n2aklXKJFIXSPT031kRqLU5F/zZY2f\nmTLKbrhdkLDgj5rCJqtItulgt7OslCWwoAsNP6c0VADzXzc7BG9PskRZVEJQ\nUBIpQQGyXnaoHc0q8UQsnZLQY9hd5zkutIEha/Eq1I5YsxteEVLqkiZn4QAG\nqMS6lyryiyUgs8883du6towOZHFS9zlIFQR0Fod3V//CV9J7xcSAWFIw9q/v\nO4hHRfMpzwe5DRsZtwDQVoRvzPXyjY6fse4J4YJEGbNrJe4gbTUiOvTsI3eq\n9sGm6vn7KyyzzoKDlf8h+uDeIN1+vEjHeuJHvlUJnxHvaGAf8KXRXjZxWvnb\nu8RhtLsdHi36sE22U0ayL9UOBP0ovU8yJnBaE2OT8myFoLh3gsSU7r5odUog\nkDBcsD6z+BUZaFTWxxd6xv/B3PsaeIWNu8vxu48jqBa4zt0GH7vTuNE1h9tT\nsB/cpO4udYxTbBiD0q+xb7DN6xwowarIoj+qnW7sbJgPyNXaBemE9QLaTOw8\nBerc\r\n=9oig\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"8863fcdf19f19519be2fe269c478485dd9a11f29","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.0.2-alpha.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.6-alpha.4_1591613983682_0.2091490821818922","host":"s3://npm-registry-packages"}},"1.0.7-alpha.1":{"name":"@atlas-engine/iam","version":"1.0.7-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7-alpha.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8555a405e14fb1c5e323fa478886da05fa69f0d5","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7-alpha.1.tgz","fileCount":30,"integrity":"sha512-a1NZmGphL74t9dUUxR7nRV9vdXJI6934xcFC3BwpUqXRi5LdEbYaDKWDkB1tNu9iydcQPlHv9xEO3zP02ibtlA==","signatures":[{"sig":"MEQCIGQLDN7ZYJP7p1lkpQ/QtbomuCVkATAxI6Y9HuSWdNbbAiBfnZ7bKxZd8v69u0RWOFB6g/pojwpXMSnyq2sZZ9Ut2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3mY7CRA9TVsSAnZWagAACJEQAJmnoNO1I11wSSu+5UfA\nEP+UVaKo6Zo2JUD+3rK/J6jptFbfN7lAeCVOaDt3JHN9EACIKKkXRGa2BWXn\nPwc6vhsFz5DYzM13sqytRwncaaMG4YgFqQgJqC21tqDR+Zp3Wyu025JbiapB\n18pEeyU51oBBDk8HjcYjhWa6bclRaC3lbGGNnAgfizaN1x8cb0UMqF/a2DIR\n/h4FFxPSho6E7slqpknWFXXSDOahfE7zvBXj1+/kbDil/UehTyjgBtRZ7gzc\nywEJbx3Ysa7bVdeQ6M65wTluXXOlNltoHEkM6JKw+IWxASzSLSVAuEg3pM48\nPk7oSqAwnvHZWJcJ0QUMVGq8MMi82vcFqnD5T1Opim7u5XXYYfsGxXNfhojF\nVNxYctM59W1E2W3ke6MoKsfqGzbRckBGl7oRDKLFr+h0S9jjEoaD4as7hyrK\nZ8sE1le/8McL7mF6XCeRUEvaD0tfREaAIkg8BvvoI03pWeE6Z7rYu4UFgMk9\nauh+PbL6YL4FbVbqSDpddApeJs4tc7VQ9/hfplNwGeA+tdhc+gNamznflOiz\nu1OYr4eo5YsF7HY661PjG5EnYEHMOUi8VBMbCAMzxNSSP78/RNGM1ricT+Jl\nai3pGTLrOaoPlwMxQyRlsAueDs3H8GDP8Ski7KwjZWIYlIjZWCVc1xxloiKu\nCk5d\r\n=x3I1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"b33255bb5e7040c67f69f6aea3825c01125f84fa","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.3","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7-alpha.1_1591633467237_0.29302238141532144","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@atlas-engine/iam","version":"1.0.7","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"07c5a15452469bbb3209f5f187a959b78144b385","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7.tgz","fileCount":30,"integrity":"sha512-IBvjNhx9TU7KlMEd+MnEudFgLlWDb8cA1veXWgprGbUsYdXfttj464J1WFuNsGv/5LIXxPwwRoUtWrLLpBzNdA==","signatures":[{"sig":"MEYCIQCRKx5owXk1c07Z2gcSgP01CJsEqqcNJQLhh6CXKWIXzQIhAPAyb4PVD2db7Gez5L4vBQEtY+7ldZwCILTF/lb4maHO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3mZLCRA9TVsSAnZWagAAcCoP/3r9lKEJ7fhbbiPu2uWp\nx1k9zHKRM39CKlWwBK4LI0kGiGuUbFuyVSjtwSUvOXBt/bttVod77iQWPo4m\nALqYwKdlWfNmSGPnpmMVm0E8t9ZRKM0Fu/lGKk2bKHLdl9/8o0RMq3EEpGQr\nD1I0Uvb6Dr4GbzPdWRU6HG3bQA8r0w6Yo0zbbxJN6jM0D6M1xlmOw0QhlcgF\nULcqecea7+9we5pIfHBHku6HIjVBekVcOG9FlAcgcJsqBdSemPDMjKsWKaqS\ns5NJMuWpGQvNVBdpcHxK0e0Yko9Ar/URlr9fKSMjKE44OYvXpc3ULVGDqiNQ\ng19X7219fjRDXP4N6kSaiLYqF0E7/HvW+q5sqrj6AlKfDwkzpMMJ7zJzQURy\nntLdPahIEoCj+79Qa7ElAAlsx4dwDHvhzk+pKwmOKXi14lzzN3WytmIQAvyI\nJ5Hw8KZKlr4mEOIxA6K6ENrJ4ZCNjUo9lHP88Uk+jVY4vmzMqNc/kLst23Tw\nOoniJ+v/aDJl6UVQ73zPmLN0XKLLWqjcg9AniWwqS2nclOxD5WejQRs2kLSq\nsihqDppEPZ7cKtO40ETwCR5j3c4nfCA5/spRBjmeQ7e6pOKOcFNNrJWVN6bH\nIP6Me5wys1vP+vVN8SOfdDVzFabZVEpSta41l5Kgl5rgwFfav2YHtLJZkjOh\nRumf\r\n=UO9o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"8c53b471460bd9c57927ccb92b48742fa6f39d05","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please update to v1.0.8 or higher","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.3","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7_1591633482671_0.754588661770464","host":"s3://npm-registry-packages"}},"1.0.7-beta.1":{"name":"@atlas-engine/iam","version":"1.0.7-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7-beta.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"4c8fafe2bee7612d5e6ceb11a79dd9d4feb366eb","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7-beta.1.tgz","fileCount":30,"integrity":"sha512-AuWgkShSirjaIYa1d/jy/kvDHvP/aOmdmQVLIYGOQVEWs5Kz4cdPu+f5hct1hqY6+JY5u83SVw6zKHasnrSfNw==","signatures":[{"sig":"MEUCIQCqLpbI/zkP6keDl61G7l2itazPf9ZAx4fMlGFd7rNymQIgQc14Aws/4s7zFywnpw2CQDIY3f7SXfHZRajx4jm1D1E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3mZbCRA9TVsSAnZWagAAAccQAJVOaQbaG6CpBvIz6O5t\nzpeJc119LfeSW/53f7PkBajY9QuKTOBZc69r8YaqAYnV3+SU5Vb2KMU/1m74\nLSgSFNOyIvpguRO1xjHBfzdBg53d0GOIoKBwLk0jIbCWfRdlJKXEoBiLVMfv\n66dR1iCFSHpoZY4J2TJ7M+8xaDiBBMnvQB6uJGviM5u0ZOfiSNU/J+K/wT+f\n32ZwWe3hvVNokxnCBz3lJZTPzMUhJ/CGhHlLdAxHKBAZ3ATkJNxbkGeGwokg\nGesO3XGwIvD/p4ulIJjt5EUNBcjSCdTg4CzpJBzzul6oIEQ8rFPEFwBjkyMu\nCSy1kXDWVZnGTGaRF50li86UVBmWzA2lZ3Vg4kBG9zo0UxI596ZLISwbud/L\nTeor1Nzs8UEA/QwlITfH+prHyF1E3QcUSUzpy+1fa10A7QMbicfatXNi20/o\nMf4V7oEyTgQJCUhEbNcA/1EnU+0wCYhYwGmhUG8d651kvy/AOa+e1hO+Ul0J\nzRPcWb4kNlzqAwMgK74NoBspBGlZ5fysMJ2XuG2u2+kqGwWCyv/7qNyrc6Z5\nonNwbEOjBxTKWGAxcZ0RMJDYGX1V8/3oHGLsCv0Hq0lfcbPApIqKWVM6W0tv\nORQnFBt8tqwLdjJ6lZdxzFJg58wslXHzTx1JyUnkLo3s7zTfCmKVFfIbJPaQ\ngA8h\r\n=V5/7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"d0df21ccf7bea9b964bbbd219e6f85702db9462a","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please use v1.0.7.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.4","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.16.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.3","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7-beta.1_1591633498574_0.8643306236736945","host":"s3://npm-registry-packages"}},"1.0.7-feature-43bf55-kdeggcqw":{"name":"@atlas-engine/iam","version":"1.0.7-feature-43bf55-kdeggcqw","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7-feature-43bf55-kdeggcqw","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"4b8452002d1b1032e2dad3d6bbf512f9a97a4e87","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7-feature-43bf55-kdeggcqw.tgz","fileCount":30,"integrity":"sha512-n6xfwJWcbcPytssqdVcsInmpL3JI4T+X/2vLnP2vFKy3XH5XPCzIf50Nco+RCvha/1qdEd7hUadybp8KjprpTw==","signatures":[{"sig":"MEUCIQDKHRJGUrzdEFZrzkCcyBW1Z7DKvN7OvzVwP9U5gITb5wIgCFo5Fc5u/z//KDqXxn6a9BDkLc4UlR/6DPDrchz2iiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ/rcCRA9TVsSAnZWagAAr4oP/0wG7GKSdh5MUzmPag8k\nr6zwjwd0M3abBIoguqIb2zB0jm1r+4BhlUvfPnXFpJpLU9bsumM+dUKQ3m+P\nPAvAr8SPSFIoRbCQ6YaQktd/e3kdC3Td4PS8sEIfzBo/Mg9MFXF5wFKA7cnS\nRk4WGB7VQHT8tCWAQPDhIgotLDh/KU4TC40cmxKcGcdjlZdQFOX4BFVGceRm\nbfVqudAxmnjMzpXedpTkpzLpWjYtz89taBL+hF7vp8CXMqwaG5YL97Jf5zEY\nCkhvqBhtSt78DA6t1o3FaFgVPfMED6zl7fjzbhkw18sraOBl7A0r2BpI5N59\nmrkkwrFjiQ54S1Ax2YFkKmkGgOvmJhP5EMYW4P87+XFyN1CoKm2tOwWNEQcQ\nu9L0XvrdZPBv55B2C+1O0Kb6wDHK5wcV55ZD+LFrB80EMPYUDlRBACPq1BZt\nQiBYPc2eeJPZNqM5vR9U95H9rjAOdHkKV3/T3wEMqPirTankQRietqWWMXv8\nbk6S2zQgvwshMrD+t0oLrJvnK1cO+YnT3t5LkaArQFLN8M2aWRUB2VrYGlBx\nCL33qRYfBbithimRLXQKQBE49DtyQZVhorOcvj8+KKNGg0qF/AVv6RqE0kPI\n4fa9slxBhnQYwZpfY4Ls3z2Q9Qs1gGNu6dp0l7LMbdFJNjjE/vg1T2fkCIV3\nreZE\r\n=qK1r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"43bf555ccde5bce75d571d2f2f5f4663d69d756d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please update to v1.0.8 or higher","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.3","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7-feature-43bf55-kdeggcqw_1596455644401_0.04781661204957355","host":"s3://npm-registry-packages"}},"1.0.7-feature-4ea7f9-kdeiu1kz":{"name":"@atlas-engine/iam","version":"1.0.7-feature-4ea7f9-kdeiu1kz","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7-feature-4ea7f9-kdeiu1kz","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"81e1c02668efc1ccd12e7bdeefe7947f8c3956d7","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7-feature-4ea7f9-kdeiu1kz.tgz","fileCount":30,"integrity":"sha512-+MLMO360g61zbDl+cAAFrbdpgIg14iRk+UhR5XbmJsxOuOKB7nt5IDRE3UBlg11eUGJAkM0mf+ChC83CeWYI5g==","signatures":[{"sig":"MEYCIQDtmgdjo2gOCXY74ruil+Xn364Hz1qQyZMS2wObs5RvMQIhAOVBI5kSYOp7nP73dK5aqT5l4XxlPqdTEuH6B0/i8/TP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKAp5CRA9TVsSAnZWagAA1SMP/i99ZGj02iS45RQPl/Js\n/dvk404gTBznmLwTNyLuULSZFlue90l1kC8r9xhIftsBtDjLchANpd3hz5S4\neFN8E8ljTD6aFXd40tmGH0yEGkHzM2/R0IQ7qKommf8qx6wk20KSODpJY1OG\n7L64OB9wknJbCvyIjHdtJ7vj/DASbwNDxlaA1VmK1Fn2JiBOdf++JthgdLL4\ng3mh5K77vW0tZJaFcOJVNOi0qBxF6OGnnFpUpPbb3Qw7Ugo7Bda2lncAToZJ\nYKS1WGmev6s0r6hiCnwWxkKeCgc88wQN5DFtqb0p179+titWbvUbmaupqeq6\nN3c0fvTXlmYA5EFyxSKfP4PSl5yQh+/3XF30Jah2FAf4x1Oswj3VlX8OdzVi\nPjfpWx2DKxl5kX3R5CmO8zogUu1rzbsSoSRqsY09PjVd/t4wmOf4oIRwOo3B\nGlEDylErKAYVvZ/L8ttdlBM+ldxSJYLyxsCe1sEqMCqHkTNJfk0tweXSvr5r\nhRnsQtWIBoRZIYTaqwSjdmGWKXlG4B5AtKb7zCUWNr8hyH2M0lHoV1bpg2AO\n2Oi9PGTjm6jdmEAzmjEPtBzdHNA0/VuPZK+zHhDJxKdtzO7g3Q1r/+fbF+Xg\nGS6elXdeGpIiRD2GdbkyOjBn8Y8as188CxxEUXnt8hB8Xq9B5wp/asIzeP6p\ne1Pq\r\n=MX0t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4ea7f9b2074068b61a02ec9d63e7210a570ebd70","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please update to v1.0.8 or higher","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~enhance_iam_service","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7-feature-4ea7f9-kdeiu1kz_1596459641218_0.5955395458463943","host":"s3://npm-registry-packages"}},"1.0.7-feature-8f5eea-kdejbemf":{"name":"@atlas-engine/iam","version":"1.0.7-feature-8f5eea-kdejbemf","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7-feature-8f5eea-kdejbemf","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8e501a5d79a4f4efc8a3ab4cd52d3f2b3a1b1fa6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7-feature-8f5eea-kdejbemf.tgz","fileCount":30,"integrity":"sha512-xZYLpl6FlGTU5Qe4BipfUjFFnfWx8PpsV5b1/KsgbEVCWl61oM2xyLOwHKbX7MPGvFaDbSyoiwUcLrJtshsgSw==","signatures":[{"sig":"MEQCIGyutoCbut81v2x4yEUl/3/yjPlEldHMskdiav7rv2OPAiAjubpAdnXz+w8iGm2F9qtL/5bljOGJiV4mW93KnZRrFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKA2mCRA9TVsSAnZWagAAW50P/igLZthGxqBZhczml5Yj\naplwGvbrE2GUE4vhaMufONWZCoz5X9DmMyTlsm2CVhCjxLIV/sUdGnubEnAA\nLqAjsSf2SO7V7pFhRjQ3IWo05VxaJzECO5lf8uF1uNC2A8wQAU3dOj7zWiUI\nrSt7vnH4PyAswRrvnPNCiYHiAnDBufkuilYFnWwzfm7drG/qRcTlj9IkQ2yb\nV9vhl+T8dOwku6OrQc5bqnt+zXlArkiYNzs2bQsyFBSlahLz8Y65FzFNQXK2\noOoNgT00x+mWJ6tLG4j5Xi3zAPepUsXz7S1vY0n1+hHWRCKQcmzg3fbnCgTQ\nevO/zZYVd/wjQQ8SPA4ceVDbXp82H6lJlC24WLo2sjq/xIj3v1L0L88C8vMj\nfU1nZO/DU5Rkt7Eqb1W61QjT+rc9DGjzc47w3yJ81D+3eI6jO1/W8vE/4J9P\nq6ZuHzvZfoDe8w/MEpLnRqqKN0b7tAr/DDWe+hMtqRGb5+amFWtJRWX3ScuI\nPX7tGIvf2KnJ4Yaew1X0RxZ5ScwfWtfDdBKuY7+ib72QoNh9s+pjn8hR/xgE\ncjZR/3sRecXjmvDplZOR0GYa6ZNwhPlRf7C4Klz+nhDzW4XIP8w1TJt4IbYN\n59AJY3YfAaAtNOEFjzd9E9+wnHO6SXtH8Ias6jluIW1bFwsxTrC9ndoyIV8L\nz4FC\r\n=Pq5v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"8f5eeaa30b7db95ced26d6044e3d72741dc69fde","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please update to v1.0.8 or higher","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~enhance_iam_service","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7-feature-8f5eea-kdejbemf_1596460454145_0.6826706263379587","host":"s3://npm-registry-packages"}},"1.0.7-feature-28d900-kdejf19f":{"name":"@atlas-engine/iam","version":"1.0.7-feature-28d900-kdejf19f","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7-feature-28d900-kdejf19f","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"679f99f01e6ee99a62c1eff21a666da8c44c6400","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7-feature-28d900-kdejf19f.tgz","fileCount":30,"integrity":"sha512-gqTT1xy3jnExU2MeAz6nYOnayZUXion7H9TAVBphQZmF0Ag2RvkapCckT7tXqO/gweeNTa5MZVN/p6byjkqNMg==","signatures":[{"sig":"MEYCIQD2OKiE56w9rq3jPlk8CUeIDPhPJ81DGcDGWWTIvEUtOgIhAOsMwmLhtBH+CAC0bv/Zi3pw9XXGvLngMDAdm+ag5mq6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKA5NCRA9TVsSAnZWagAAOs8P/jDXTLnWTpnrFpA5p0vL\nnNLc3PJyf6sF0UYZVROU/VO1YvBS7wlMxUfC6ZgxSqXBwX/mFOd67l33mQql\nWkUX1jP9an0mhHsc0wH94op7fK4/9teUfGD32/1un4TJjvh6N6wq/xODZcNL\nWlpLJcoLOa4Eu3aRt9fnFa4J5mgAqClvWT4+hn6n4YdF5Xx4pJenrye4spMp\nfXbcvbhLBsBE42KBN81uOCfoaIeJkKjTzwLslMO5MkFkrSKBkPPJoWoXMVZf\nPBxcSo47xsOzIJhfN1im0tHA4lwL21HgusEGJurEGO2AtaQ1qxNBA0K/B0fP\nKbk9aj/PWlRdCSGca3RyUu5TiBn4Vj0skIXk7JwoG54BF4peVmDGYv/SmTYz\nEnmy0Btyt7OVGkk4oK7yW8b0OI7onZr1ZEX3/CegjHatHcqFU3vqca1szXOh\nGINuDDCZM0gITX7eVJRVO9nZHb8/ADrMCxTALimPaDmGU0JCa5RZFTxWpSVT\nWiQuOS4Psgk3wez7z4KkdKD5PLkuPwQW02XH0QuH8KT70+KKU2ipbxmj2l/x\nNs6qH05VWr/DZd+TOCvcSwc0+jtUxKCtXNTKXQuMFuv/3BcbS43PbEhdvw68\nGhzOa5FP25TnTZJggkjQhwKQw1ldooP601IlvtVoI+zA+6WwLviRkY9WsQQt\n1KCs\r\n=Btb4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"28d9008d91186c024bac1033a537e0c5b5fb78d4","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please update to v1.0.8 or higher","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~enhance_iam_service","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.1.2","mocha":"7.2.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7-feature-28d900-kdejf19f_1596460620995_0.4409652278449614","host":"s3://npm-registry-packages"}},"1.0.7-feature-a8dd12-kdg03pis":{"name":"@atlas-engine/iam","version":"1.0.7-feature-a8dd12-kdg03pis","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.7-feature-a8dd12-kdg03pis","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"bec8bfad1c9c58583b987b40fd82dfd3fe904923","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.7-feature-a8dd12-kdg03pis.tgz","fileCount":30,"integrity":"sha512-ES5ogurY2q/HIYq8X1rymlAhuosU4qJJ99okH0kI8Dn9wEBr4OGv1QBIfp+x8BHKmJ7BkdqzrLxfFqIPKyppSA==","signatures":[{"sig":"MEUCIQD3tMgheyXy6GRTKqfAvNo1pbxHnoP7P1p9HGGQA36WLgIgc1T6wg/CQHVHtkHHLxV3ed/qD+B+L+91ZDzLQs7ibWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKWf5CRA9TVsSAnZWagAA5jwP/Rm94P/3wxpCwiGaVyAq\nUMNAYkAvla7MKLmoinRA53DedAiE/HoVMAhXgHqGEZJOzsFNQswISXkwzaqL\n7uQT0F3nQ8HclVQSRvdEVj1ezSPQelFYU/9kVIv3zaWuSNg/TfNdZmq8iZCZ\nJ3QAxw/C4Z6ib2iPsnOKgy2lNPGDAvsGXMpwm3oBAhxg/CyxecDREgDpSy/4\nSBAOXor3WApNewdMzpAbImACyYtyM58yUevT1gxM3lSo7NeBUVtFMr7TZc4q\n/2sT7WigZFdv8A63OEDKzhyEogFMTpWIcLr/N3nu/VOtqTFuujsl6ZgYIreN\nK44njR3uqvNtrLeGSQi89IGEAkVx9WSh6GzOv6nZiU++ZiZKuQaE/OGEnqzc\ngCCzkK5OZR3gBsKAstC6f0FEjT83YJLNAZtmiF/JqtkokrvwzhWknvXaFfsJ\ngzcHuJa23gOxIX+ARTjT30CJ8hEPYR3XOYGLw30E44lVRAumSkKoV92SH516\neNejqs3SBBm6bs1nZ72PbXE+XNNsSpfexkzJS5EY1CDPIteaUKY/1JHQeDGc\n5trbPZ9Uzu85DAHFnDUifZ9s+k7y/tgfs3CpyLr0pqSa9A5szuiKT0nq67AU\n9dbXxsewdrWkjJYnqUzJGF+ngo6rFjq1md8NRjChlKh5QZ5EO4x7toYBcAov\nrFOQ\r\n=Cq7t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"a8dd12f156aefa65668e7f8934b5eec41a296ea9","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"Please update to v1.0.8 or higher","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~enhance_iam_service","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.7-feature-a8dd12-kdg03pis_1596549112750_0.4628629942511686","host":"s3://npm-registry-packages"}},"1.0.8-feature-4607b9-kdg4x4xh":{"name":"@atlas-engine/iam","version":"1.0.8-feature-4607b9-kdg4x4xh","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.8-feature-4607b9-kdg4x4xh","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"1ddfe3aa19355b876ea04c3847c2975a585135a5","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.8-feature-4607b9-kdg4x4xh.tgz","fileCount":30,"integrity":"sha512-dztoLmc06Bt4NzJj+tvG6VUktvwvNvyBPgfy7rOnZD/jZwDNs+UF5+u7BCEgTxZ0RxcQG/sCTAHuRJr0oPaRJg==","signatures":[{"sig":"MEUCIQCsmA68gB1CyBVoVlaQpD+YtB8FunEkZtPgiUVz/0lgPwIgfhdwpZKHB4OJa3uTUFfr06+U7h3D3Ic4wz4zIxabgbY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKYeWCRA9TVsSAnZWagAACEAP/inun/LmmTHYz6rDaxt+\nZSe96itkHvnY4Ga6We2HmnOT8c7WrTR96lHkzuE71L6uFqBGjLIMKKa+qvue\n3Wu8iMLQu33SOvol0puuBcts4W5yd+UyMfyF/p1jEVFs8Uzc5SP3ikAk2IKB\n7vynqD+T9vqO53uRo69J8leKTBy6Hf+m+C7quB3YAvf0mtLaPTNnuHS5/5yE\nPtsXvbrDlOzSuwsIrXfllpUSicV1N0rI+HyATjl/baeR4UIqcUFK+EULcVvf\n0nLcOPJf7B+qLN9yF7shF3McV3vBhVTCeuc4OC0JfWx1ph91o8ndPlD9EWUB\n3yjD/X1tDSKYYP7vZSy2Irk17rMk0EUnaR+nXDsbwZDctHcZZujBG7wvye3i\nnUqoWWW0IYjNCNXSOpZNErY/Xf78wFAh5k61rX4kBiw2n5wjmW47OBPU5eq+\nesBu1rIXF8g7e9uEPu63dT066imloC3GS+VpHbvI4VXZtUS4tZPL8sL/W01V\ng4r1CUwyvsSI3wAVzWp37AXz9StFmYLdC4iX3xbASeQPv7X0tY+XK/zN+U/d\n9WciKPSjUlsJzaphCFITtrjDBRnjBQT+qAhnqhUfTd4lk3eGvm46U72hUWqX\nxQ1SygX+Fh0PCx8L7cn/8A+MgELepDx0ScQA07/RXx0fQmMUS/Xp73h4emRX\nTSpw\r\n=jNIT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4607b93c6423ec1464d43463ffd67113c6f98e81","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.8-feature-4607b9-kdg4x4xh_1596557205789_0.8465807034403436","host":"s3://npm-registry-packages"}},"1.0.8-alpha.1":{"name":"@atlas-engine/iam","version":"1.0.8-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.8-alpha.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"95618c4ac009999d77f0e41bdddade2be69d94ae","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.8-alpha.1.tgz","fileCount":30,"integrity":"sha512-AqNIRpYeoR3ATktMUSp3z+Z8rfGn6LfjwUWKSAWhA654cgWWaLLkaGh9zhuyxIbOPlknB85sODYTQvV7crX/TA==","signatures":[{"sig":"MEUCIHvWB7P6WPDU1DFplyaf2+zAoJ23gWR01FF84rsKyMtDAiEAy86qNATHgTBsJdOaqx/31Yhp0hByOVU0guSmyNBPXZw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKYh1CRA9TVsSAnZWagAAJcMP/1FWxAC+aTzvgYLSfabn\nFvx4WKPwVVigluz+ev9JJo7eVug4e0IBVGMF5E8abL3zl9WVzMR7zFVNn/Yh\nMyIo1kV9mTcl8dBxZarBP9n61gt54TXwMk880xp4ew9Q9m08nQseCftOuAI2\n0XMQ1zINDR0pwGJ++5K0Rj/MgxzeDw9UjX2GOzouU6wXyl9InOCR3gr57ute\nyKjaqZkxg4Tx7XqcKu80URGtLE4FnwvWPdG6E64TEp4eDMfNbvhyEIri2Cyc\nty3WOJ5GM/zD2Gg3dVedVE3F/GYG5VoK4YbTbwaxptQxnRckPzr3cPW0lOYJ\nVTH5cC1OBxxWv/Qj8W+pxYqy/K+V+9EJEnTOgyUOpLV2AvvZ0r6Gv/miEgiX\n0Lh0futTj+QHlOfranttl58zHbOGy0iVtjJ61QIRdT/2OzUdqwpth2ob5lgX\nbTodLZiMOx5NIa0viArJ8+19ydKwlHg36EQ+X3lpdrLlOXZXMYH2wdSrzBT9\nRprBHW93iJ8qsZtBhBwVavfaLTyVVfExAJNKUK8X+P63xt/CVcbJMPMSYo9Z\nbm31uLQ+bOyDeoeA3pir0G0mIsD+p3koT755q5if4psudYysMD4MW8DfNoBu\n63CkcXQgMMVuZRc0WY4uPs+biX/4wyjFTHt4UdLW8m4UrSBimyAoykoY8PMS\nFz6V\r\n=sqIE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"5f0fd8652b83967797b934bb7b05ae660cfba73d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.8-alpha.1_1596557428918_0.5323405665185554","host":"s3://npm-registry-packages"}},"1.0.8-beta.1":{"name":"@atlas-engine/iam","version":"1.0.8-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.8-beta.1","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"e782a4770a90f59c6a97b5268d574172cae22f19","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.8-beta.1.tgz","fileCount":30,"integrity":"sha512-OszVNZl31bnFiIhiO0o4H/a3xANgqJ2Uff7GaajI3PY2uOagat2a8K7CRcNxE8bp5m+wNyfBB3QO+oAAE4DdKA==","signatures":[{"sig":"MEUCICbJQXhwrHblXG0JLn8s/fGc7EmySl66u6W4OWWp3ncoAiEA2UM0Ts0nK2guyMXiUt6XbojPAndAt2cSfDoLs4ILsP4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKYj7CRA9TVsSAnZWagAAcXEP/RKmr8wWtl/0EcFEIsnI\nXmCwrtPfrfZxUDryzqPGjtIYFm0FovnluLLYZv1dTHTaHkR7sxS4H6buOZxc\nvI2fboqfTyf/PwycMYXd9lv/7TmUGYwu+/LpqAs9sQJjjczwXzPQxLhG79FO\n01L8MmVUo8AIBprh7CpA4wNXB3KCCDrwjsBNtH/LPXDsEspQkDM6DaeU9SSY\nxTAyEmSlOpw5KpqQKyaZynLvRHmj63yecoZi7zVW0ul+Tl3gAj1mInFdz/TP\no/GE0Li8YJeQH1YNRIobIVlEfQ9wxPjrRckhZdOcmQHxVUutHW7uOMkDCXXz\nwTMsiRJlsNRWLwQtM7MopkloWldNth1H2Tg6wSC8C04pUPTTjle7oLAITQKa\nD3iaf6CHd7eYK/ZBwe5M3FvP6Agkon49G3mcYDpCPnaDm9r7EJwlKIncDWMJ\nfrY0CD8A/xElNqjvcPnS/FSluEHgRQfI323GwsU7qNsjerppZEOcO5nBXEdC\n8PqJ08RkJNuSIvIVBtjdwtaTxGqPga6mSbQzo2CNQwMkLYFxkEEhULyPE4zS\nFOI0DNijMb95B8FgZX0mwnyK/mjCuYgcRu6X51Jsq5Xbm94qNHYeJ5M1KtxF\nMNlWiew8h3sWJujJPJ+6PoduGm17aSggsDnYIUUBPOnB7ji6WlBuKwkbrfAd\nTCAJ\r\n=QHz2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"f2993be74fa9ba4996537b6597eafbbcb4da4af1","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.8-beta.1_1596557563498_0.1907988951345041","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@atlas-engine/iam","version":"1.0.8","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.8","maintainers":[{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"55abb3b44e8e0f2007a3ac0f5e0c01657836884a","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.8.tgz","fileCount":30,"integrity":"sha512-XnrOHKB3wOEgDc4adDV96lkoK95wBWxwL5hVu3H3/TjY4MGbgePwAHDBBW3iXZl2ykRucavfbAgGB0Vg/YjNsw==","signatures":[{"sig":"MEUCIGp8vr/WiWiurUCZ+4K0WqJ7eqVroqpLscc3ULBvAU28AiEAvnjF37P7Kel7AImChRRIc1T/pYN/3/OdU71wCvW0NzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKYliCRA9TVsSAnZWagAA8gAQAJBpHguQwzycKuRlO+kl\noHda0qmONuBMsXH645Vog6L03TEeudJTaK2CAPLgeZJ1e8ohpUZ7CvPEjKo5\nsq6LpupT7G7jJ+2ikomTgOr2cRePvCQiW4+4GJrjG92LW7hhXcfP7UNjI3Hh\n64s8sKm/4VS/zF2ZQHGB5InH0rqJFybnJVBFa5TsUkazQPTPZmA/ToaPjPLn\n0DctHxNOwO1QYOX2KRWpIz3jtTx/wBeZKgFz+PJh/rZtGtiI2vENwg3yxrQp\nB1ZWjrXorJmtT86xMjADqBxcj8Zd5GEMkDaQudVgjo65QH3yNUpk15aZciC9\n38yOcRWU03ZE0leiQoT4Jy45hDQLpZoBeWqP2P6tCVxJvce5zWR5lQdXoiub\ntvcanJESSUlykmAtCxFsS1m3MjfgC0e/qr59QE1DznkIMrQu5NF9zJyn7dV9\nseDkaN2a6mrJ8/VkdlpOqMTAauV9BcEHsNy9cNCi/uX/cRhCc5gu9XkguW5y\nu1kg0SeJhWCEgV1SvrilqDeFdsaFoF8DaOw45wnq61wxzpMCylJuEcXMPHb9\nYXs4Wd1o7CA7yVimsdyl+2zmhpnW0MIHn8qkiVBacAPw7Fbh6xZcfeK6Zw1v\ndeKdRXFyVeDMWtgD0JH1ymD8rHzrdDlWlt1XlpXMbQaxNYArpwmrMfaXBSW8\nnrxw\r\n=HHQ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"0692daa222a2d588b8e5d55cfa26e962df9c3346","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.8_1596557665994_0.10086581654460369","host":"s3://npm-registry-packages"}},"1.0.8-feature-21c569-kewkxmch":{"name":"@atlas-engine/iam","version":"1.0.8-feature-21c569-kewkxmch","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.8-feature-21c569-kewkxmch","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"3fb0de830903561510c610e35f0b85f66088e3a6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.8-feature-21c569-kewkxmch.tgz","fileCount":30,"integrity":"sha512-KuRJelWIh8II5d9SkiGv3jLgBM1UhrPkeYefWgE1zVqRq23SrYREEesJQDUjpHPmsfrJC2Rx0iLZutq0iQBJLA==","signatures":[{"sig":"MEUCIGUA8TMiGUOO6HNxH4nK6+VE4t6wOVYfCQNekHEQvCpOAiEAu3R5jA6CLF+H+X9lKJc3wzOI43aG3TvtVVyfF4/J+jE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWerVCRA9TVsSAnZWagAAiJYQAJQjAUZLz2EGqx3kTeFJ\nk9LxgLH/g2GSa8uNIT18m575TpVZSKE81XFozpYLpznC2j3clHSa+dI/hMJL\n0U8XTE5WHp2RX7t5kLZkM+HrX6qgqvtzcbb+Sp1oVa3YhPMSle5TahJTbhJu\nKCQ4KbgBpSxgWyARWm3QUe/gyLIzsxde55qcVgcZUrrfZF3vjpxKEtfji6GL\nPpcDd3gI67FwuVL/GxkXxfMPO+/LvmrNlAMhUaA+urQKhLKMVpz/RKGUTrh3\nFCx5XAqTPCwR2ObysnDDO33mc3gMeWvwUqvI71V6TD5fc3elK46MmA1Lh5JN\nzcHbmJtXMADl93On0Gy1PvXo6EpslImHFeSHA8i3DnyQgavDUJS8rjRfKu0L\nfpcNnK9CZMeN2q/+w1pQxkOk3h8EmX15WzgCgLM2D16Qss7LCjLccEGwP2LB\nvKtYL5yx2Rs1TOY/oW9tEvi6TkVEuRjqh8gsU9R1GRw5QwtQXopGFHXu5tdo\nyyy2imPVq6IXwDfkp/k5ubJ6aTXCSmOJEmIjfYmAdx1VCm8dBI4wq3Hmc91I\nW7AT8oowXSFf8Y8UyV/h0+oqIiIMd1BX6yF9fjKkYGNMFWJt1HQe58WCkOQJ\nY9A54/IQPh3l5+anqqNE//JqQefTdQ8pd3BAvXI3V+/HbT4WLsWQKzVHehqV\nYUw4\r\n=PJxM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"21c5695f34e339edc9476bb8902fb18a6dcaa444","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.8-feature-21c569-kewkxmch_1599728341205_0.039530171725231655","host":"s3://npm-registry-packages"}},"1.0.8-feature-5beaa9-kewq6p4r":{"name":"@atlas-engine/iam","version":"1.0.8-feature-5beaa9-kewq6p4r","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.0.8-feature-5beaa9-kewq6p4r","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"2071f4fb006eb6c01731d3df59c938babb38b62a","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.0.8-feature-5beaa9-kewq6p4r.tgz","fileCount":30,"integrity":"sha512-VoDar1x9kADTaEoxQI+sZUNs6zib8u4HBXKSs0xcLNjax4r86nLGvl/oiWSd4njE+uCpEoEs1KQVF84nJOLT0A==","signatures":[{"sig":"MEQCIG6+6W8iiZr5tnx3zrcLn2guoEwqGZKD70dMtatKuMIoAiBX+/fWpdOolzIrtVyIWl2sPgHitL6xOkxi0/QCND9j9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWg1LCRA9TVsSAnZWagAA1+YP/jzqRyK5dUbEUT4WUx4V\nKnr0toirmSxzec6qJTYhekS1dYIAZMQTGx69z5JTVYVwqraU5HoNODh9fwcm\nlw9dCSVIdAcGv55FJ6eqCBAX7L76EDnC6tsPpr2XWFd8NUqPpZMrqTA8fQwc\n7FFBlJsliyJfO8yZjdbMudyROisGzur8ifFDIRLEf4Re9DIfQZfI3Ki1FtJf\nxc+rabMH2hmz+0d7g9rzjRNSFowsO5UUXngmZyC4F2VUaBVc5YWi7rWYloIc\n3W/aila0aKGjvPriVDHLI6r99LJwjJSSD9WhdYBZmfvXK2VDad9VyOKmuVQq\nv4h+edxdN0Ba+JA/LarW/7hzg4b5JnB0x+kURAfl/v1bDB5lBFTvr+e2aLJk\nw7Kdf+E4CxEjFvuLSccH1AamnEQdozY6QWF0NIsxrER6e1Dm9wP6JHcu+93i\nlwNrPmDI3nj1D31aUc5PYLliubxVfPGifBOT5QZ8w4b1OqQ7PTG3GQr6YfpA\nzc0PEWkvVMC0MT6M6Z98R1l5P14yfTQr7EmJ95ZXgnZK2H/gxSmbQutwj3sY\n9OzJSFNea2idYVoFXF7O6xZ8jq3zWI6YAlV7QHrRuWKe+hB1bjsVDSuqP/ru\nQjpaw9jD42cZtobGp3HapBVb1+AqbbruDMCTHA8kiNz8foKETUXglSK6whS4\nMshI\r\n=4fQl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"5beaa97ca52c614f6807cebb4eadb5c725cfa178","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.0.8-feature-5beaa9-kewq6p4r_1599737162676_0.8831270622876128","host":"s3://npm-registry-packages"}},"1.1.0-alpha.1":{"name":"@atlas-engine/iam","version":"1.1.0-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-alpha.1","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"71d652f70c43baf78d8390050d7113d186ec6e1b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-alpha.1.tgz","fileCount":30,"integrity":"sha512-5/42fiFnSM19xCzcarM9kuu2NhzsOum1UhDHpNdewLUwvZESV1DzybCSPHTZLJpQMwblT2CQKojRwwV7zztPTg==","signatures":[{"sig":"MEUCIQDWfR6f4PnzlHuOP1AVSuPI+ax7V+9Gr7oAHr9shNMyDAIgAaJDBtaANi8u3/DqLkdDmjQlv/ACaasFV/wz0jgfx64=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW0UxCRA9TVsSAnZWagAATB0P/Ry8u4UNrr4dsK2Y3gNO\nlzz06kxG5TteSyERmQ/JNHknxnsZk9lO1xyWbLSCoWM3ZVGmLPps8YJDS4re\n1kV6d26rH0Fb8T2cjnpPmcboMC6/xTMmasbl0ezj+AF1d7AOJNCa8qRBn9XA\ntokzTwcJK0o46PgsGW22EKyasnrbpaVxbPq3QenEa6PZmp/fe05OdkKXcNse\nlFZC91Bt+z3iQK8NoRai1SZeOAWZkSu439jVR3D1rfoyQhvxgUwyD8XAwyiL\nV/fy2u32jcVLaFokAyDpUbz5Gwk2ujlfoz83UitDKyzBlIOY7S+BrTyMYdF3\nGgn/FZBFuiK0FmfqnpSUNAuWDKvteXmUYXXANq0tgY6hDYVvJjmr4xOas3lz\nLFEe9chJHnNx8bsOhZwpFfYAmyXmA3AmjbE1ZZr/Df3Y5CuYZk4QzxhwnwXy\nOiorStp4qj5yIBUlmafS7sYYp4GEl1Wm7pLZYL2RK/2YecRELojS+/twJVTK\nlOyhc9H2FTjdQAmw88hap2/phulZ8Eio2vRTVrGYsn0gmw5UyCwbj4IrC+NR\nHVXLnPyauHNCYVwjn4yLjPZfnOcRvNAKktAzNHMX5ii3bU4N7r5xgF4HmITF\n9l6tADwCr2TGTdgCA9+HIF+8uvCDp8RQ+TDZFYpU1cCHtPfSr+4tmXoYlqWp\nAnZq\r\n=CBeo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"d6c30459f8119cfc2081e530fa117e49e7a37a48","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-alpha.1_1599817008878_0.3403187098700218","host":"s3://npm-registry-packages"}},"1.1.0-beta.1":{"name":"@atlas-engine/iam","version":"1.1.0-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-beta.1","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"359cf6b04852524c780e5691331acdc3945b9299","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-beta.1.tgz","fileCount":30,"integrity":"sha512-dmms5VLMYiLJrvoHLsVxXvCl50MzK8JIe9P3V35dsnwo4Cs1fQWnXGN9CRUrLg8f64U2sPhkK8jApHodb4SjxA==","signatures":[{"sig":"MEUCICpNIDDO4tNWmoIoTxn3BkWqHa08EgI/Wf65l241YP9oAiEA1Ivrr7J0tdGxvc7o/7qWSNTKp/a9llOGkkcuxuWgMX8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYcZGCRA9TVsSAnZWagAAB4wP/086/se5hJaPIX5A3GP/\nSWWQMTjm4WUHIaShbxai7TV83u83kpH2BWGjLQgBM40GB4ukRYK2psLYWYxx\npqQIf17+1/zoy9ji1p95Y1YRaCua92bcmdSnCXzvH2yPUIXUIQzhhr7rMs85\nqOQZcMAb8kEkQ3mzYrVb+T93sgpS8TiL+OLQFEDDr2BO2p2QjtwOzHD1vFCw\nHCn5gcM8bNKyk4Ryv2+sEBXjfA1bQHbMAO/uipUqulFtszUUh99n67+cPoad\nh69Mst7f79Qm6a91OtpH1G8HT2bQLwFJLWkms5vD5B2C4cSQCsp3X5jtpoz5\nrCi8o0E5eit6qjk+Hz18FstDqvbKybtQM7hNQHTgoki1aPq8UybPvHC3oPRz\nL4WMb2ewzYdZc2DCRpmEI9BVBgoAafRg5xvpoecVpYilk7QPIFxesfbDQbfZ\nWUbpxvC230V/aZGEYWkBbl5CwHqCGn3lL/SzX1bxvET/ck87aY9j0VSAxJNB\n2Dolmwjg2SWECGClD9pKVX4DSvhG48AiVJbjejiT9V6PJPP887kv816IMVFu\nFE+rQQ/umztq+xvpZboOYow0ZwoL9hNRfAUVIcc+aiJfYoEdqCFFIO5/Wp9p\nTzMFY72EWHNdbfcurK9ErUmTA69MrDWVHWENWvr6me7J85j68LrKZOhovSnc\nS1GO\r\n=28R+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"da50a5aec94315a5ddbcf795fd5dd5463fcde957","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-beta.1_1600243270430_0.4589076117638833","host":"s3://npm-registry-packages"}},"1.1.0-feature-306708-kfmb7rlo":{"name":"@atlas-engine/iam","version":"1.1.0-feature-306708-kfmb7rlo","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-feature-306708-kfmb7rlo","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"5a56b983b8a7c886a0af849dfdfe4b87cea49fe5","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-feature-306708-kfmb7rlo.tgz","fileCount":30,"integrity":"sha512-QHHKrc2jWmwq5Mf20zASSpa6QbPaSe/JSpk7ZQqQdxfjIaLPcOUItmm38OekZjGwlyateZrzEPuNB2IlY/z7/A==","signatures":[{"sig":"MEYCIQC/7Zj1yR2tJ6dpwN5NDL04OcZNc/Bg4a+CtblIakOTWQIhAPR6t6RRCubluginjk1TMFWp2zpVYlQlOXQiL5i1cU9J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcagsCRA9TVsSAnZWagAA79EP+wW9/qvfmM0+QMQMJc4P\nsHuJEEfJ+yp5RE9nWsYdyZ61AroKicUMR61vQf2vXWhga4YgIZclKYG4N0sh\npDJYBqALCswCYhsIJEWunnevY6wYUk0b1HxtPspun1E2D8rUKAWCI/9Gko5I\n5ZUv3ZT1yZOr6yKBYVFvPXbd05QT8tW58nqSGvXAJhBFHVET9LOrPu8pX8/i\nf4FwYOtzC781iWdxVU52X3mZ2pXA5E9xk/5uLfNz0SayvYp53eTYc2fsKOQ3\nnXzUJ3zNDEoof+xnOM2nvTu5uJ4zjEwgLm0Zz9MigODmW58LEbbgO0sUfRUw\nbsU0jXv8nB7dKoz0ZxLtLiGu4XWzA/wi1E9ZJ/Qo6GohRX6+GEtWzVO8nlGR\nhf8AVxF4OVqsHnr5z3YG1OxKxmLAA1X+QLFBsJvjz/v+lRpInf7IcILg/3UH\nPt7jmuRkSV12GqH1gKZjafHmOJ/Xa5TMBHgalYAMb7EYRbc1iP2nDdr/nua3\nT0LaR9VTxRIrAIY+1fTtpcq1kWK5+Y6dCJcGl0P1PGs6lav0vNcdLLODJ+tw\nFqd2iKeLWfHuoDVb/SexQJwT+jfH+h/lIj6tzDpFdku9rQY74ljrBJ9x6h1I\neVnoIPpKk6rPfssd/BilKzo9JDgInMEglFJ8SwGG+wSseopeMo05vCNKtfBr\naYoO\r\n=P3vZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"306708d9965d62e082cab704d37c6ecbbdc889ef","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"feature~remove_configuration-service_from_inversify","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-feature-306708-kfmb7rlo_1601284140490_0.6668635043216014","host":"s3://npm-registry-packages"}},"1.1.0-feature-60a3d4-kfmd7jwk":{"name":"@atlas-engine/iam","version":"1.1.0-feature-60a3d4-kfmd7jwk","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-feature-60a3d4-kfmd7jwk","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"4e5832340d5bdc75e63644ee69fcd37cfe90c67c","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-feature-60a3d4-kfmd7jwk.tgz","fileCount":30,"integrity":"sha512-9SUkdKy7nrLgsfZagtoXUJ7r/+z1Nb2+wekk5JKfpWTydW0f/Qcr0yCuhSvpFfQYwxtcwEsgXatx0VSrT7ga4A==","signatures":[{"sig":"MEUCIQC2QC1f7Ez1Pcd1R7YIpAq2D4OmrSPO5vnHUxWmh6J4sQIgcRq9WpAe5jp7i6KOVRDSar7Fav1k15ZP8TjhxemIUqs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcbU/CRA9TVsSAnZWagAAYVwP/ivaAx0Jbegq3gdVyrI6\nc3WINWya6MxmpPCOaslYhBqkooB+OCwZ3o+gpjM0BlBDyQ5L9dAXPvlsVbYB\n0uO4J/JEFNUR8ANKr8n3Ip3f1YAM9xu1LEETDSEYtpVIZoP6mTu3ZUCs2bPm\nkHTV0Wt8U9HBiwPN1g1sKMqCV/kdhyyj35FY7vKo6hANMYjehWAmYPh5r/Yp\nFLrAe5DsMZCxGcdFLg2MZrhz6fvhdZ9lvUaGLSpE9sRYqgLDDQ/cFP9+IK/o\nsH3SJ/InVaTKjowOhcbIPCFRX2cQ23UKS+HAgA8+1mvhnt43o2qWc7TfUl2j\n/kucUBMql5TK3NvDvWXXKuMdSuQpd0dJBTq+cgOCZPR8hQ8ScARozOayTMnq\nM+3OHvX9bvFy36IeM+EuvXxTTxRUqNVzKEIuxdkHDzJz2NBcJJGVInFiLtqM\nZ6Q/yN3TsdTR0AvOWvd0mkU0lNvcJ3XGBIG2RsxHiYXab2SQXUxPc5Ig6Spf\n4x6P5Q0J2MNM55uUuXIf9tmuI1zNjN8b7zwU4kddwR3zHUp9ztQPQYIdwtq9\n86QLSsbd03jzKtAiX1te+lQiEH1I3H2L3pIMd/wgxKp+1+m8BFqSD+AbK7VH\nEZUtFVwNvCHh+f2fXkRXaVqW++crLAXn0qUHF01Y7h4eHdAMlwtCXettYE/B\n49IL\r\n=4PdT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"60a3d40c9ae91cdb2ed5db9a06ecb67e43878d98","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"feature~remove_configuration-service_from_inversify","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-feature-60a3d4-kfmd7jwk_1601287486824_0.2738628188279808","host":"s3://npm-registry-packages"}},"1.1.0-feature-4cad0a-kfmdadp9":{"name":"@atlas-engine/iam","version":"1.1.0-feature-4cad0a-kfmdadp9","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-feature-4cad0a-kfmdadp9","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"dd7429686a4e1d10098098d74df5e21972ee7f92","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-feature-4cad0a-kfmdadp9.tgz","fileCount":30,"integrity":"sha512-Hfdh3ukv6eWgBmz0LB7iWEbdI08ATDL4bNhmc4agtRe/yQaXaYUo56NjEKWHGA/fPI5u7wQmrdxR1tTZ4V+iRw==","signatures":[{"sig":"MEUCIQCNL6q0qmjIV9Em9W3A3pkZlgZ6E+EC+FYnvAFCINMAcgIgaEAeup58kJIoKdenStVjoABm9RF3eZ3yw3RYSMfA0bo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcbXECRA9TVsSAnZWagAASbMP/3rM5jhGkoqo3gnhxmUJ\nVppPnH+Iz4x6uk/zu+70NoxumQDid22TBk/4GUeXFUaI6ff7tD0jfyHIqKlQ\nOQIiTn8C0PUlOx+HyAatzWbAqU5IsNIPy6OpBN6LJPbjRaD6MnIc+T2QpjcJ\nGptRhDG5dPTP/cd3r4qebO9RXDnd4x2EIc8k6IiCNYAL8AD21sHqmOPS9p9T\nAmVHVk+3py47dPQIm4n8/CdVizL1WlGKRocR9mj8Oafrs+w7q+8GY04hQSkh\nQSaK/WVPVomBHhe7kDfhodLLAuR+Zk9t5C+QDFTvW3fynfkDNAaj7ugmysPZ\nfg7CHdln05SzpAohjtIpN2Kht3lVCsoXA3UkxA5A3FiEMIE/N/2Z1mdYGotB\nfpeGRjz7L0WyT6IwP5JclYO7xx0nOtZhUV9aGswn+PHZtIa5XK97DrW9akyA\niw3Fb2KZ8H6av5+EaGJboz8H4zqm8ujVO3wivlLCv/W/psVjTr9nGad6EWRQ\nXg6vdcokzSc5/tQzLXU1XfCaBMquxHIh0szmF4TI4CcFd7/DTTUtSb/s2kVU\nnp7Afhlx7TJcqHHRpag5RQjPxOI1KyahQmCMrC4BaHIl9CRNFpgPruoRny3f\nZfHBmaWv44w9vOEcY8tGcus7BrcIVjCzzKB6z7RLRXkarR7g8IaZfqqo0SDy\nzwHm\r\n=7eEC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4cad0a67663b1b92ca7bff15a194da7ccf4bb90d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"feature~remove_configuration-service_from_inversify","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-feature-4cad0a-kfmdadp9_1601287620443_0.10387218520810726","host":"s3://npm-registry-packages"}},"1.1.0-feature-e6e672-kfmfkd2p":{"name":"@atlas-engine/iam","version":"1.1.0-feature-e6e672-kfmfkd2p","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-feature-e6e672-kfmfkd2p","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"c9f737b4b7a26e22a866bfb7d016451b1a918d08","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-feature-e6e672-kfmfkd2p.tgz","fileCount":30,"integrity":"sha512-hsjcymTXcqiCiEVsGLohsRroH1qyC1K8TKf5eQBWUbowUaSmBCYtrIze/YbiIgb/Q+Qc6huL6v6q14WE4q0XIw==","signatures":[{"sig":"MEUCIQDm4xYeMwjHvbbhQSC/cNEzeNCAblrafYFvVJNBHGRd6QIgToBXfdsITnd+74ekgKs6MFTl82O8YL5BW2xZWyl6szk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfccS0CRA9TVsSAnZWagAAwK8P/Rid16MS5K8GAj4l+TTs\nOsyzGwSKysoe7l0t7CzOJU2jZVeuWuGo9O6q4xKMPVNRkjkUN0l7zu/XnF5y\nyl17MCBoXXVY40X/g2OCbnOXPef9iVHCmiKHgPE39/l3PtKysqs4E9B8DdJS\nXeIcipCvkLMHMzyR0eFER7vzZGFmVbTqOa5QAKfLqjhCuf/hEm8ByL4WS6bO\nv4KKHwmBt47vXb+0fM+GZJiBxm6VwLY+NgVCpo4oqY0AYh0r+L2MV4QcSB/J\nmK4XLNqbLFR9i9MhZIzmRQK6oylIqDiyVEEUVZoq2lsHpLYl9IAQZRe1ZxoV\n9R6RJ1B2GWPnn0/maXiB61kJiLkxUj/DIr2nHhOvf9HA/x/q0P7Oz33aEnsT\nOpOH8Nmg3ygsO3xGivo5aLlcQTHfbqrMx7IvCxA/Yw6o1lk7ORcYiFvLDIsU\ngKWdRCvGOe45TqtYial/qPoLwmOm0g7Q+L46qe9ah4+cgsep4G21HHvHpQ2r\n4GFWduAYn/oOM2TV6gcpaRkGv+HL2u1DYhBB5AZ1shi/UwTlInVoqw/DQkNc\nQQQ3KwfHzef8CaHvSwineTsxo7uO7Pdquq+E3wMQ3zl2k9ezicNDtUEVrftT\nSEuNb3Hu6IZI9RGRVb89jFEAa/+/lEtTDNeaTRn2V/jAzpbC/kA/vvhs1aRI\nPcIv\r\n=Z4iD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"e6e6727528503e2fc9c678d17495e7f3ed4b1ed8","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"feature~remove_configuration-service_from_inversify","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-feature-e6e672-kfmfkd2p_1601291444094_0.46916745588661946","host":"s3://npm-registry-packages"}},"1.1.0-feature-e6e672-kfmhw6m8":{"name":"@atlas-engine/iam","version":"1.1.0-feature-e6e672-kfmhw6m8","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-feature-e6e672-kfmhw6m8","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"e1a76804413976aa39e1442ddfcc0ac1ef5e2a32","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-feature-e6e672-kfmhw6m8.tgz","fileCount":30,"integrity":"sha512-lQyMg4N5FaTNo2bhSrls2AqBulnW4hL0m24fefoX1/V60r5XyK7kcbgOxfPMLjmG2nSY9mXfKdsLwI68MZk+bQ==","signatures":[{"sig":"MEQCICDNGaSnFjIKNh6ry3c05YBEGEW9LxL6UJlOiiaip81ZAiAqi4C4hE8RMJledrWcVhmmXRJDNCFFSE8pc/W7wR1FDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcdP7CRA9TVsSAnZWagAAlTgP/2LiMZ32q3aXe1oRS+s8\nNk1ahGCcgVC9BXlzsngOqznkqEm09Q4adz3laQUBSl0IroMZ2R74yD1o2q6u\na3UFiuWSGhv3G98qtfmkmC4QE5UJ9+PlWzX49vtPi8XpPm0afiQN/vlyjh+H\nhBXM9x3k9r/ekXJUShmVPQ8/EuY4tqV244aJTzJAatIl0zVkIAmVXnMYdnm+\n3/39/ucjQ1ME9Tce/RWiEu0vtH1jrNioUeVxCKCYhhAalZK7OaWo+j1KPKig\nI4UNjo3P7sTaYYpqC2LA6KGdYrsIO86D2opkImrb6ROo+9ub2xZZryG2s0wF\no7jF8UxiaizLMLw0WdUcVqDNWLP6jZJZ9Z1/Lyx1eF8v+m0WEhsR/m1uqN2M\n1Gnbn6ZugzMRlq5opJMo9ilpIExi2t80Wf4LURQTKsyRiFdDjAUsTtK7VDGv\nr8esMNsGKkcCh7be5Zq3dhZ1vAN3l5sfth59D/xcrmTlYLhzpI7f2jFb0rUe\nnxDbxoadC1V9a6ahWq2AyXblfDkXVz9Z6DZxvI1qnMZcelrLP0Mnp1PYz0gV\nc7VznBCAB4wtikf1xBl5oL2GDKtArIedJ8B6jC1cGTjOEMaMEoYn2Sa1HNUd\naTtxlARQikGIIH/tEwp11hkHkP93DrKTN93zRx6PcViv7y4582EyXKr8FQ+q\n400R\r\n=afZ5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"e6e6727528503e2fc9c678d17495e7f3ed4b1ed8","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"feature~remove_configuration-service_from_inversify","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-feature-e6e672-kfmhw6m8_1601295354955_0.869356711022871","host":"s3://npm-registry-packages"}},"1.1.0-feature-a816fc-kfpeyawy":{"name":"@atlas-engine/iam","version":"1.1.0-feature-a816fc-kfpeyawy","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-feature-a816fc-kfpeyawy","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"d4bdb9fb6ff6f72256fd058d5bfe02bfe39a219e","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-feature-a816fc-kfpeyawy.tgz","fileCount":30,"integrity":"sha512-XaKW4+NSq4XCyniy2qiaHZ81Cvnn6tNZiu8ASzGZfGCUkbmKRHC7nNI0s4Yn3a1j7VW47OAYVXoYmY+MXUNRLw==","signatures":[{"sig":"MEYCIQD1w7W/MhMObpq3pKrJZ2CI7O5ZILl0u35swqjD2zLUUgIhAJeIyUyawOT6Pxuz699q3Vce+jXCWYlxpeQDqdQeknfE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdIVICRA9TVsSAnZWagAAvH0P/iuAxqQtqq3MT2KU4gj+\nVZsFovcoNwXxJJsHJsU4JuA0PpFmSTzmbah0CHQ2+nXBRkB3GX/8tp+/o2cg\nUp97/oE3yLpfvGX39u6g4ZoIMcLhsy+/wsZXkVW0zjaA4eJdB0Ysbh/3TXAY\n4P+8jCJ9iudmW8QherC00Qg3aBojRHFZkuVobQyE496G7ls94V602RppTu/d\ntitZF4jqNfutcs1DIuiZYvM2VdPt1Pj2q04/NAxFvz3n/13oXp1Uu80N+z3w\n8Sspc/iAErq6tMe0pHXaXXJ/JFr6YMmFQYw2JHW918RAPBrbWICEr3Dn5KKl\nsG2744bt1z2ER6JqA/OYs77ddHw+ifxkBmfbhbUR8RX1W9CWCJnN816SCj0V\nGaCIIPBwyS+Id5DoHqNG1rEPk50pB1olJ/8Su8B9U3Yu4RoEGR72UvZJaOl5\nY+njKGiecmn2ufYOYEn2v99PriDniVHozYiO69M3VenGRZmj31OEsEg3V5Sh\numc8C/drblidxrRcPpAdgMsJ21RtPQAq4DIS4wC8xaCihY3IWnopqbqY2S2/\nGawGbXPjl9rE3R7+QxoiwUz4vfLjA9ipuAGmxeAe2AEzTY8BhAACCI1UcPCI\ntAygM4HjG1hL7bYyTZKU1edTfX9teEB1e1vz9+2pmfnvC46eGFVVYIUx+Xy9\nSl42\r\n=/Chz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"a816fc779e3e9aef30cbb7c2ce58188402f973cf","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"feature~remove_configuration-service_from_inversify"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-feature-a816fc-kfpeyawy_1601471816267_0.9259034288313874","host":"s3://npm-registry-packages"}},"2.0.0-feature-34dc59-kfs8n5ka":{"name":"@atlas-engine/iam","version":"2.0.0-feature-34dc59-kfs8n5ka","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-34dc59-kfs8n5ka","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"9e011e2ae66e42b76ceabcb34a0cb5177faf807a","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-34dc59-kfs8n5ka.tgz","fileCount":30,"integrity":"sha512-0Gp224QkiGR8b0hgZeyffIRSC16zqsqJNtSbUSJEMsK5rgt21LBeE+ZMBoXVyNzdXJbH7i7WWn5lniwjghAbAg==","signatures":[{"sig":"MEQCIFgiZe4JSGs0lUqXJMLlrFtve0FFlTEMwmtxcuRhxxfzAiBCq6HdbEtbmpZXxY1h3zPpxMC7oPQK+w+ZDK5vi/ddvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdyB4CRA9TVsSAnZWagAAXloQAJ9Z1eqvT3J+eUh5h3Li\nAbMeDajYcTpAmnuslj+38vVESgToxjsQozQv24YnX8kErkpeIDCd7r3L4D6N\n6t3rqOZWqVYLhmoHhSQoEZCNajfKZvof7wszToy+CWhkLu1bP3PDtiTMM79R\nSOOGw4JeKDDnBT3e75FC282qFXrXFlTdbedre0k5fGb3xF0Z1j4xdUhaq2AA\nz6XMx1b1b7fSeM44+faRc6+nKjyagdP0HEmuoARLDkGHLq8urlvB+5wDXeL3\n3HuMRtTXs7bIQByJfpKRPxmmeJspCe7mIwEd2V6bS2g7vr0YPJ2oGch0TnF1\nWw4iY7XtQK5kho27yHHs2ScazX/x95SMjA/NMIRaGUscyyrYtbEI79Yh37Ku\nLKM3XMZyWEFwt5zlPuVwXVbwmhL0Gmwv4NirBf2Rbfi3Z+ADa9RRLy056TiS\nyY6GG/9UGh0pjCuvqTnxpyLSkUFb2gn1ODvpPaPlYQE39Vv7R/U2936Gx/lI\n2nUdArMx24x4b99KbFQ6bi0oXyhscZNbIyreW5w7e2xGWXX5CLv0hKfjHT4X\nOP5bvi4pPDLjzFgXQ+zE2OUO0HytAcjcteCIVlZkq3ZZlPvgsfavcN5xUcB3\n3QbJQUkOHp2aYcGCmA18Sp4sXlofmAZpFeLcS5tSe6x7DLcuDzRxXPfzjDwn\n0u0p\r\n=JvVv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"34dc59f192bb53d6033cd016dd62d12e71abb07e","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-34dc59-kfs8n5ka_1601642615642_0.7943013605734079","host":"s3://npm-registry-packages"}},"2.0.0-alpha.1":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.1","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"57c08906f46e3aa62bc1fb258e187c3d303bcdbe","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.1.tgz","fileCount":30,"integrity":"sha512-wUdFeISnIuYuV3lfG7MIRd2MXUZMHsD8eCXgyhXC3lt1gnNFhmiEI6lEVdaZc8I8NSm9ks+RKP3HVaC2ftA54g==","signatures":[{"sig":"MEQCICgx9ppei7fiDAyiHBSwP5F2pgMnD2ONhtmuGhTj3IRkAiADOvXpaRyoMZoX2X8ylpMoA/CcWd3uUw4+dXG7QbC4eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65988,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdyLcCRA9TVsSAnZWagAA4eoP/10T5Sn5hUZUhhtpXeg/\n5K0d0AVxYmYg8fQvYhROkjRuLfUk1lhebk6c7vmCVlNLpRt0TUAhaWYuhpeN\ntjdb97YQv2k7qoxmDyQ7S7xmDQGX6QX2HUUJMdPJtWfJ1nbCQ2DzqtTF7H0S\n+u5h1FsKKrddi8PyO8Ip74d/0ex7iXrW0GrnDcTe8MukAh439XxgHwUuEtis\nXB5A8LKYAFM4cPcRAtSQOpe6y4GdAs/JvXnhf/XQP7vQ9Rvorbnj1RtC8aWy\nUpaC2jhrnHBuFB+8mB+iphw9x9uh8L9MQpETjVIiQi4dbuikr+gQWkPJcewZ\nJAiYX1PYJUtokKHPL9sqknjvMxTt3c7iTMHjBnt5v0QlLpdgpNgXr2RDpHXR\nRDwJmX4DEKiFO6N6o7hS0QdWs8zKmZsQR3wjhjy+/Poeh+BHo4S31mz6j75a\n9au8JcQKptmzI+vAIR+IjmftVYDC8kN70yDfZ+SvhJ4lPrvqXn5TBW6tu9Yv\nbmJot/ir4EgpE8QoW68X4XddEEA3nqjDsRKtKcDuoSndlTEXUXKh5DGHizbC\nwkYDDzo03rP10zCo8RPxI73NnwkxoRChajKAbVW2jjgSj3WS0Wjq6VJXzG8M\n1GgknZdPGvGQ6j7z7dtQcGwaM2FImaz1Qh+HrhaS7sAGXCz3xF0NxnfIMI1p\n1X5Y\r\n=DuAR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"ff5b1ab9adc76648d57da2240d1616d3bc1409a0","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.0.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.1_1601643228110_0.27832904830042615","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@atlas-engine/iam","version":"1.1.0","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"6e880e5262811e120015dec089ebdc15b9676609","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0.tgz","fileCount":30,"integrity":"sha512-EXajRLIGjIfPX1JQJaN1nrGsakbVZY0vIYGY4HN+UKWQ4rFpmB3pz3aGxDAzm6fTVMSqFnvCYfTfB8UQH646cQ==","signatures":[{"sig":"MEYCIQDT8MEnTQ6F6MPEC7xHQpq+F9gUsbST5GgRjEQvam2cfwIhAKAYrSQQsSlUIjx8CNRWTuXaONeiiSqNwGCyULdrMxJR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffZzrCRA9TVsSAnZWagAAXMMP/0GJ1oYNElVA/B0uKNwt\nnRpKBq+G8Ni+jlq0/RUckds0fpN+GLMeDWLDfVEqWZ0D45V/Ok/SlGMadOI6\nHtn9MVrhkTUIWqYdhSsb9bRSWZEknfjfW0m2lg45YrxeHzeHkmW5RV0U/i+1\nv1XpLqoBiKry5BPQxYFTIMLfi6iSGsYibaCPW6CyNbPTJwFiOGP/vn+oNCH3\nm3xxpKQ5IPSgO77nj5oA2xcIV9zbE2Y738Dr7biZOu+0DPv+FKxOwJ/yOyvM\nnLtR252PkwpMu5uTCodzscFE93mBkoQJw5h68RRtLOpMkWzVzr5Rp83heRRS\n02wvBn225SuxoCw/3P5I7i4Ii/KkDlVTgxO12Mx5yoXnNLns4a52he4CJ3u6\nwbzS0Aooyo70MbJybgyBKXP74Vkt4xO4Oad4+MGSnL19kHjb+Y2vpKgALV0E\nRdCrnMUm8JbYnj31r71Cwf/JpWWOBvNL/UVptL6KxOFhtwYEe+U07QkU3VB4\nqa6CbBX8nCT1ux8z/FZz7+eQOZKHNeTvOi4Ug40vdnYwBQHPWk555gx80/oV\noUS6O3NU2MYSn6pv2M6tvyboZZD+40zPSFprREoP2OsN/gmxo10CnrP127hH\nrRhHZg9Sxb8s8i/ksuERDn8gJG4v2Xkx+8iyNynamq40O94bK9kZA7XcemSo\nJBLy\r\n=DjjT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"5f5093aa8110ebbbffaae893592efe13d0dbb2e1","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0_1602067691057_0.13302570733264307","host":"s3://npm-registry-packages"}},"1.1.0-beta.2":{"name":"@atlas-engine/iam","version":"1.1.0-beta.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@1.1.0-beta.2","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"263cf981b56dc58f0866feb37d6e2000468202a8","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-1.1.0-beta.2.tgz","fileCount":30,"integrity":"sha512-772kAKtuw6kNxvSVF06Elph/a+GRqbKBJj+S75scF82lsGF58OzB4wdBp6CTQazXrZlj5NYTTY75WVzuMG5Y8A==","signatures":[{"sig":"MEYCIQC0tzVv8TMoZsITZaxmMBvpavM11Wn9qaoPF/6cZ+/mKQIhAIjxjyF18PaNuSkrwJxSOzULdYKM7xWwcs72B/zseGVi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffZzxCRA9TVsSAnZWagAAUScP/3EUTHuxhVvfshTPNNzi\ndLbiq4yMyYUWiWTaWY498Hbe1tNvhTO5KV6MQqdgEXEMQaq6OnD7JE/sKdRl\nlQfcNTWUwBBOqo04VQZxgSnGpevXWhsu0B2ijIJ0QWLoNUBR0UnVUOq+S3QG\ncEXniU22e4I2ga8MnkYxaudL6koaY4UC9uLN0/h+te5+AiBelZs8gYkNV4qs\nXJo1bbE2jqulS7Az3fObxz4647aEKMRFu/oshyltXEiLOjMBDvBbjkLBvR+k\nrF3xUxzRY56eYzrWKR5jF5fTEkRdAMmitbZVez3IMPVHpbGESuR7Ibk1l8Uy\nM8vyZvjsGIYDSAIHDpaJ31qMiEXfDm9NNsg4W4+R9HAyyZuLGONh52VC/57V\nT4SpfRtlFL6OLVEP4pTS/x9qto4ABLwFvezhiS4FkQC5h14kkCKyoYyrRWru\n5jlG2vl1EbzFMfryzXzLXhWcHcMQ2QDPVqUGJFaP+bATugZBOb/S5647Xum5\nwCaiJ8TgL+2SfI/+SIDzIfqQiSdLEAhDvcvYcoYpxQmLUNBf9gySshEJ8O14\nILN+dXn8sKlTwcCbWnYeam4ieh7+yCbFMat4aVe/GtxUB8OpcpoVdN7u8h61\nHWPR9enMFzEbYAQtDglZwkHjdlcWXO38+HufHxJYz+moaIzSEiYxIKL1aLdz\nRrdc\r\n=AxB6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst configurationService = new ConfigurationService();\nconst iamService = new IAMService(configurationService);\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"167578c8f4e262192edec2eef968aa305ec41305","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service_contracts":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_1.1.0-beta.2_1602067696756_0.07491395283776159","host":"s3://npm-registry-packages"}},"2.0.0-alpha.2":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.2","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"5174d0cfbceafff0d231abf90223abc08013a3ff","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.2.tgz","fileCount":30,"integrity":"sha512-yPjDo6EU9f+B2DxPYnggAboY0tn0niXksT9vXsTx3kSoWHQ22iwyU4VQ/Ew/qvPx3JBJDIthjuLrsLAR9+gCJQ==","signatures":[{"sig":"MEYCIQD1VBLZjunSs+MmCcr4dAVfbNh9KAchboeUt3JOpnvNzAIhAKlZC2+esihh97mOj4n18Fl1TeB3aMHY9xwsHq5fNoUX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffZ1LCRA9TVsSAnZWagAA4tQP+wSD0VpJftUQSy+eew7w\nlKsWxvAHNNdwiVQTi+On4thCqzU4IE5zI3LcYLgofCgaCGdGpDQpTd1jgLDG\nuqwgf9RW9ZvWULwxdfzaUgFKbvk6NN/rJuKAZ/FaccfVtASu4B4H8dllAEyt\nZEKKzmSM0nZv/8BkzG1DBhq1E/ji+HMB3mn4TX4nRrTQ1bLM1fKqa4xL6vWU\nvR3ID8T9SBI8QHoikWEP6pW+bAZe5//XCe8NCqlQ3OMBr42w2jSWIldVcRMe\nz7jY5HSUUQztcZjMXlEiEsbro14YZIiJIHVm9F79/zB6n6QFKUkC73T9CcFo\n06u7y8fS28OUg6HwUm+uSg6ICYQ2FkML2qU8jIrPVkMXtXoI7PEPW0pT+hyu\nOIiQ4Ev6zZlsR1k4n24kiEK5nIEFWsDMPMw42zeBG1EPgNuw0vrt8G14Alpk\ng8TXArGcnXI7YILRjLFKgPKS2lzolIyazpS2yUam8DxusymvdpM5s6Ndu5f5\nXCgxLd0t9kjX90BchbQTnzkQnC6Q7Hq9Ma3gnCRvmXJT8VbFCb/dZ0Ao+hLo\n7QNcd3QJmScU0+n0aQAW8hAQE2wf09VZKgEAJho/N6lXgQjn0GrNGRMVIGD+\n0jMCNE7clxd9gmxzOCJAuDdGm8G1VCSRdkcbAklTX70nDwjTTOQE0wmwVzFX\nmPcd\r\n=f3TP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"04107290c636fc6b71ed10ebfe3f81c19f25e3bc","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.2_1602067787064_0.2901927448253334","host":"s3://npm-registry-packages"}},"2.0.0-alpha.3":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.3","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"b23f3ceac1a47f83610cc908d6634f792fa992bf","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.3.tgz","fileCount":30,"integrity":"sha512-ZOYU9PnrdLzBN65kmsaY0sdMVdtn+4iRfKlQnKZAGl8EjLKKPWU08BTwtPZ8pUNhDqq0cOpEowDoW2/K73B8sg==","signatures":[{"sig":"MEUCIAcBnt2bkx4IoDpgfYgCbjOeYjI3DLuPSLJWbfIkzzejAiEAqwc1S/wjg2niAe+HLGSn9TFVG4ZSRto44SbvvASuAaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffe1rCRA9TVsSAnZWagAA0DYP/2k4UsjJhbtXFEtCc8Tc\nDqtJvnYd0O5K3O0lrjuU7v5sHlNMORNlBe04DrkN3AfIVujWYJNomsNyH7Zv\nO+qT1zjkh/3DApdTdKg9kOUZzFkU6ujtcUAIp+yTi8WIVU7HsKQMvcrtWhkc\nYOY8bINTsugpY3mHjiSsvBjnZArQdEUXv+fnOE1r/pxFBZKl/N+TMves7HVo\nz8CwWpfxVAsD3BMJU4AZK3G85DPqoj4aUYQTYbwoUSkO6wxzM8JflCgCuYoI\n7b2AX8fj45zi1WidUQc6Tp3lHejvL2rcmYreQuccWcFUgy2XaaDCATS5LYm4\nrTghqqpZEma8DUo5y6Ctkah7oLFSaWGlOCKL7Z8CTIdQtEJrWi7KrSfEznF1\neLaL8HmT2/Iqark/zG6817Vxq/uJhKOuD5FGAyF35TzCAe3zSdOYYUrRKnMW\nXxeScABU6Dk3AHu01Hj9D/jlCzXiP/EfrTtsc4CR9g9sClMTiByDUWGKduKQ\nFLSAotoT7lmzM4cXyPo4eAk/jGlN45HIcviX+O1opaysZfs9S7V+2aTdUOpD\nW47faQQtHU4jExLgjYEiZcaU7bxyHujYkr5LM0NKcgQAQa7pWVF3BrYfNzHg\nPrd8wceYc3t4ZCLL6hyUJXGSdg66BXNwPmAVv3t0fC9oG+9WzhxksKSBhCVG\n/wAV\r\n=h1Oq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4c5b9b0e1e33de2bcfe51f2af4037fe78292a67d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.3_1602088298622_0.44404407502413656","host":"s3://npm-registry-packages"}},"2.0.0-beta.1":{"name":"@atlas-engine/iam","version":"2.0.0-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-beta.1","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"48ba593996be1700d0297f2ad4b92368f0a50373","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-beta.1.tgz","fileCount":30,"integrity":"sha512-h3IgSO7hZg9eokAzSreOJsmtNPMW+4M1Qej54JLXimm24xRULyEp0qUEmBU3hMjlPqkOP3UnFp7a9UWh/j29Mw==","signatures":[{"sig":"MEYCIQCdaXL25DXp8+tgvJsh6zjS9M3B0zW40wdsDVRjUpk17QIhAObPhtZYCue3OjakJo8LJ/CIiAxuo1/Pci5lwCdCAkvJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffe16CRA9TVsSAnZWagAAeJoQAI9/H08MLItH5DvasVSW\npGzhYuH02bUdBgH9JkRkiXrh1fS1ByPujxZGEDik15vdcPEC43T/kHCVlpMe\n1IuD3HjYlvOOXVXsxVqaOJ5d/fDVQvXJ4fiSwPTfO60ZpXYaNMaX26geG8Qb\nLsGSIGzH+/euYVmzzoQDbkUkcT3dlIYzOL4QVpWJKpXM9uwIyYGTNukonf+a\nJziH6BdFE3fEhMZDBcr60D9JQ9QF1x5GmZmiwWARAart7dWKVk+4uyLy5dle\nJanNrd399hEcvzJPxMnJ9bXcgGV5puA40EPwCLValyedy01qOJ/NgKxmEQNc\nafVfb5MzyPEPn8P+d8Mv6lbkm+NlKpmhFY6WGP9EDkKpWlnBvpjh47z1CSZT\nvGbZGGoqm4RSCG0cBjNWc9OVUpgz+ndW2Je3GpfIToMI9kbSyv2VeWz7th4L\ntOfDqkRiCdudfmcfM3PpEwMQguunGddbBd8YR8r+F0hvLar0LHpecfXzf8A9\ny2XN8JuwaJs1d5vBLB1eLclCGtGv0C5FpLc1FIQf0O36x3JD7ec+Nvm7m89K\nV7p90IBe0ZWZYYCDrfc+R9cAfe5CEeveivOVwpkwLSv9i0zT+N8b5R0DoIad\nD92d1LdgMbTGi+N/1M+a5T9iwMW2UoNzHXIVno1Q609gTEYteutIzXr9t5iQ\n42Q9\r\n=FbTL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"b8e568eea78c01469497047957da08289cfa41cf","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.6","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-beta.1_1602088313968_0.33493258970878403","host":"s3://npm-registry-packages"}},"2.0.0-feature-4c5b9b-kgdx4678":{"name":"@atlas-engine/iam","version":"2.0.0-feature-4c5b9b-kgdx4678","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-4c5b9b-kgdx4678","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"17007ef455d42701af1b6ea36aed738044ebaf92","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-4c5b9b-kgdx4678.tgz","fileCount":30,"integrity":"sha512-iikJvgb8aNti3sGr5s8ouOadKALafgCe6UlzNwNZ/5ADmbUgbTVMWdiUByCLzyoDafz9YNyVRD1PgCHBwFhTDg==","signatures":[{"sig":"MEYCIQDLlUn3U8DoJO+WIeuON8toUwz3eyCKddKyBCCaVt9pKQIhAMibON6AMr/3GZUmVcx5QogRD1Z45WEdHHLyF/1/xaLj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiyEmCRA9TVsSAnZWagAAiZUP/Antl5W9HpDm5ClKramX\nk/+1DZXuthXL+CHh4f62M9rf1YRbNjQtX985EaGAhv7irBvtagPYzhzIQ/IN\n49GFpVzLT84HJn2ivPFYjMeGaTO7jARHfER4DaQNNtXrBLI/WooFQY17e01Q\nZkuUCjhP2ychoKjfo+DciVvP/0qHFL/yyudRINLQ7lFTuI/oSSpXfOkAVKE0\n/9BfS7PvdanUTD2tYLBzmrIPtPgscH04/cGj03E9oX9Gcul+1K7xqXB6bgJt\nFlt6D4yJAYXaNuJ5cZ4/+7FPKU2IFwFqFn399vbP7hToyDQUr8edRqEsvy5f\ns9KqEaLdMQzQnlUxGrRwXmDGXV2+3tmNoP1HNqdbJaRgA6W05RvJVQcoI9g/\nWMv8dN4TRR42TjmM0leGrV8YiWd1Qwq4r6XPHRQc7s7RnYU4gBfjPLj4ZIuT\n7U5MhiJb5BDA+mvvmxtLqV24LRHDySI8kYlVg6mTYcedGu0JncaZWTfZPf11\nXmRlZY2t1Z5S2kUETnLXLOGg0UNlQkOqGE0273/3flIHP0I76bw6Wz9vDHCQ\nHRX4R0ZBqJ55bfWbIJcEnDQBhqGmBtej7K74nF+zGCAZqCCS95Bv58mvRIYC\n2YjAI/2OPtz//Sy5eLCjO77qFVhUYgWeteHkEs62uERB5NkxFkggVeOgGztw\nL46G\r\n=4NSd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4c5b9b0e1e33de2bcfe51f2af4037fe78292a67d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-4c5b9b-kgdx4678_1602953509735_0.8546451803336312","host":"s3://npm-registry-packages"}},"2.0.0-feature-31801b-kgdz07vw":{"name":"@atlas-engine/iam","version":"2.0.0-feature-31801b-kgdz07vw","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-31801b-kgdz07vw","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ffadc70fe8f03ac070d499aafa71e7f7fd5a9131","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-31801b-kgdz07vw.tgz","fileCount":30,"integrity":"sha512-F0BGkwu4RW2bmqGyXaDqDrf8uB3C07nnzBzXM/D7KGT+ciUXgbraIHX7UrP6VoDbdg/KReJY+9Gf2kqqw0Sleg==","signatures":[{"sig":"MEUCIA8iDSEbB0wwKHmIwDLRp5PLGshztWO+ll/gG4EGKq5OAiEA6GRs1IitJGHct1TRHpdCD+LpkLSUNpobtZFd8B1v584=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiy2NCRA9TVsSAnZWagAAoI8P/3R+OpJa7sxZovfaBfrx\n7WsPaQz6P9+jxTzRWYBBaQp4tNunnII0UgLaFLhBR9QhnduUDCfuYXeBKcZl\ndFuEXa/kB4xtl1yWPKw8X/KGRztuWps0rhxJuLancq+11z34mh6jOIUHaFLe\n4zBpZIEtVavgZoZwqVEgBZYw9mJMoF62dvOEA+0iWhcHuusc0Ck8srGaen/v\nJ3VOkoJm+66ZDq9sH6p9Ft2ZPJd4DKdxS8kSMyye4tN786Z9i5CK1nD9WV1+\nMZbagH3ZHDVMK52sqbuiLi+BjUcOIuhyXJ4g1CpDLzkJQnh1JskEtIZ0qFWw\nsk4OdWgSDEV5JjUlCgpkfMi8toC0Bx2ifl4WMGzQ5B1wEEyU4wi2RQIdmYba\n//NMw5ulf/r6AVDY7HkaKmHg5ILFZ5Wctb/qrjJ4/bktlVyRKegFVVsMiP/d\nOXuLPI3kcGYvShuvF0BobepNetbptGuHpq7YxJhKqVOlAhq+j2RUIAzf9pbB\nbnwbXbPh1QKOOJ6+fHlx5JXhwSXfYm/pAI9uHKF/b+wToQw35kkySyIU1ajx\nmQFymLEJPus86Exzlj+4HqOmGW0SSxWQtPPIgdpxRV4oIRX43WHHKNwWipZ4\nbpHXTpkon2S5UPcj90Yljhpb+4HAoYwS5BxxZrhgLS0ayUq8fpaIXB+Xx+EH\n+8g2\r\n=QLvk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"31801b9c429efe6e94f7c70484525f8b083dc31c","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-31801b-kgdz07vw_1602956684755_0.6706370395332892","host":"s3://npm-registry-packages"}},"2.0.0-feature-677c48-kge0u9tr":{"name":"@atlas-engine/iam","version":"2.0.0-feature-677c48-kge0u9tr","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-677c48-kge0u9tr","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f1a10ab2b7a15aeffcd9d1442588700ae35b9630","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-677c48-kge0u9tr.tgz","fileCount":30,"integrity":"sha512-VlGRE2BC9QdsH3lvIfYE+GSeVWt2bksLJeuWdRfPwp+hdUhT3sizJnI82iqYl+6Ytt9JRbwNAmpsejIdUOTIOw==","signatures":[{"sig":"MEUCIQD60c6fSR1BMAFcylm6MiWqv0jlX+1/7G/kSeN4Dj1U6AIgVg3YVVhWIywUdI6plIMRsmJfPQzuBqiJzt/MWdkvXes=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfizmVCRA9TVsSAnZWagAAvBgP/2iZ7HDsBALHCTnBcTdw\nTNBU8mSj4Oczn1HkKyHFTImA8RZlXKEdJM2BT8dLCrCMO8O5HAypz2VEnU8e\neEBBIAo+jZ/N/t4ietFJ8FQ5vmMuYbabeAcGDjYCltJ5JXO7sHrJ+FnNEGbL\nPdZ5N19lgxNwNpK3eN7f6Gj/bymDGZvLlSXB0flwPd0byWaO5t+3ABS0Iy4c\neRDHPinzaUWyCl2cMPvy4JQ8n+mWG10LfpkFd4jD+N3HPSnzA6W4Qclcy7f8\n1oQs9h00gpeybjVsvQoGJ0+2eZ8xF3x7cSYL2KTBeIcLB8UGFER6EhDaSPL3\nbpWTvvhDSpjA52MZPAz7FA4xADlh1tQjUIMu339kfvXMBSSXVBTetdsRB5mc\n5h4+5DK87OFcE+UwtTBHB+SFhiTr24OniQKHeEPOgAV3MOwGuiQdWMUjKie6\nufxsT+YYw6464lntrFIYN4WeJfIVKIs4CZuJh0slltPvblibrJUFNJMGCnYu\n9Q0x7rY3umAj2wJiJ6usuzNBx1f57OYiLgKR7sUnvho8DsoWjWty0Fs6s9Vn\neBD9tL2Njd8ZcgxBLOWMKp84QlL1Tn+uhXFvXTM9dd1t22FS9i2FMlqDtdsb\nD0l2Ag7Mfk66hTs+T+nUSjTmLIFTcCER5kkO5q8RorspzZDcAW112+mabh5Q\nJkIi\r\n=UKzv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"677c48cb08809c2cfee22536a037dfb98246d158","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-677c48-kge0u9tr_1602959764538_0.7293017762189833","host":"s3://npm-registry-packages"}},"2.0.0-feature-2de839-kge1mtjs":{"name":"@atlas-engine/iam","version":"2.0.0-feature-2de839-kge1mtjs","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-2de839-kge1mtjs","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"a4279830cfac4af28fcd6a18a75041ddd211b5df","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-2de839-kge1mtjs.tgz","fileCount":30,"integrity":"sha512-cNJ4YnMwparrwfqqCMyTAsF3R5AGnxXwxYDR13CLzqFLGsXz/81VcGPPX2FR4EC6PaYGuAIuiltzRa4Z2cdWbQ==","signatures":[{"sig":"MEUCIDVaZpmiKREQMlLMdEmbSgjmoGbTtM9gwoDdGdrLAjX1AiEApQ6pkiioTWh5BKKYu0GFHK/sEC9CsjK/cRnGfM1vqCE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiz7KCRA9TVsSAnZWagAAG9sQAJ4PBBmohaXwEtB3ACQR\nVtE8nmWz0/hyXNKH9szrE/uZE8FfPvU2bpH6I3bBUmqLlp83deV2zBoSPcEP\nOsSx9YVbmmiZz0HmR5iGBzhvfHPBbEhohNENDnpZtU4xCz8YW1aFTzCsWeHb\nY2d5F3yq/vtOz7XPvf0LKN6kQsq2EsuAmGOaNLw4ThcGgPPnOSt7YfH9k1mQ\ng0gAKe4fWf60A1h/CV71MdEEmquBnKRHvfqF9HORpW0qPOOQ89JFEoYGez3N\nufHHXidhw4/c0cPCOg9jCw0OipGq2QxwqvbLPubXqL2wqRM3yOeO0VaLIlQe\naAIC/1osEGi1eSumz2qqoLYJ0l6EccfeaPFPwpkZhgXTWnqcMWWCSIpEVrZl\nRaFtc+dIi5Lj8SE62A/6tiCs35GVgffERyn9zApZ78x7Y5eTHFmfiv4g6pkT\nHWmcN1pSScHW+ni+6He4dfqcU9R3L/LwvosxsVIpw4bKbxtxR3aEOUefNKsm\nqYLH4N3zCUWASW0wOS3nhKsbl+1oXYY4m4tjyx27J/eXOuGIcGs7Roc5oSh+\nVkv0JmQaEsGpbM1dBFJqKj9GLjRslBwMTR5fgZyBNBsxYXimO6gWMKQx+x65\nlVR3ybsCJQ78nUovxkaCsqltAuq4LluBoCE4UtXdyt/oD9xBds/ubvv7TkXS\nXXjr\r\n=5FPr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"2de839be08ceeea6a2350e9149311a5317c40529","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-2de839-kge1mtjs_1602961097684_0.48544211396080694","host":"s3://npm-registry-packages"}},"2.0.0-feature-46a996-kge292qz":{"name":"@atlas-engine/iam","version":"2.0.0-feature-46a996-kge292qz","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-46a996-kge292qz","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"cd0c51507e086896aaec25339a041938601dc5f1","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-46a996-kge292qz.tgz","fileCount":30,"integrity":"sha512-JNmsU9nU6zDxAFnJI7YIaV0su4mkOIDLrQWqM2vSht1qjFurpP7zP5TcO6Q2o8E/QwHUnB28h9yZIL2Cc9ZqVg==","signatures":[{"sig":"MEQCIAYVUbQwx7E2j/QWEVrGZQM1g+vrTpVVOipj0gG3SMQeAiAImiTtESmPm60m/He/f4zUpdFgphs41jpZSZ5oYcZcVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfi0LZCRA9TVsSAnZWagAA4rAP/2OHb838U1nMVKudeku2\nEO9zG1IuQ7+X8k2lAAYyANA8D3F0jMWC23vcbFsUWCxvwlyAFuwwv2eBpvQF\naESZaLXZ5Svk6j/7LLAuy9qc1P+1AttURZKY1RFtztj25hE/Fs94Mv82+o9a\nHoZn+5jn4z/b5kqbBN8ZGCwIRdAU2GBO16fYw8J5cKeWfWU1XkwivO7WxOKk\nJS+peIaeIMgjhT9RYpq1VROhU10/sMkanFHcHIuybNN6QEGBjQqi4g+zMDmX\n4+XaTk3FXlvooKDHjBCSJQinEEiYjFxAnEoAm1ngcH3Cqvgj46TqXSTl6z+c\nYk7gkToA71bBWIVGOHPM6Yn00sFJlZXtyjdDCjo+RVBqdRP8UT1HyVbxb22R\nN6bPNdEjh7OKw+vt1UfnFofv90Lz0qIxjaM7Q7ipXorOzp2lCJioBn8pqgGb\nPEUp8QBMznnJnk6cC9vP4D+A8P7LMttZjyr1TWQQVISzclo5JeBcNuikWBLT\np3JQp7jJJ5Qv9v684W/aVEXh9sVpa5S3bNFmHVPO36Wg184nkIQOQp7df8ue\n1NPz9ysdjl/Lk+hKPB0nFbbMT0aGCIj3mMVpEXDoueYTd+cIjOwcd/5uTLuV\n14nzMtbMWpRpYMKKsHLq7mI0pfK2BvXc7ZZljSxOFvAIEyofsvb0ChTpp4cZ\nfkVI\r\n=u3hZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"46a996a3533130f02fcc331b4114352811293e0d","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-46a996-kge292qz_1602962137034_0.5424225306934187","host":"s3://npm-registry-packages"}},"2.0.0-feature-4855de-kge2frks":{"name":"@atlas-engine/iam","version":"2.0.0-feature-4855de-kge2frks","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-4855de-kge2frks","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"c6619db9c0c869942819924480a264f7eb9f0abe","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-4855de-kge2frks.tgz","fileCount":30,"integrity":"sha512-5AgnV1ebQplcYDsFWbJ5qwqMiHB/Z5SGAmF1jXohQySyXWBspveZ7J2V7eCaGOkdSZOa2gKu+oFV6BC9x6YBZw==","signatures":[{"sig":"MEUCIQCJeMIkjbMBsRQFmo4ykXixLnW2XDLcJa0AHGrCBTJkdAIgIfIbjZCeI3Dd60JM0bsx5/+2d3/ME+OpBgMiuSB3ITI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfi0QRCRA9TVsSAnZWagAA9f4P/3aJwCXfDqjE/VqXzhwU\nPjipqcZmC84P6Ajq/rFsgk5jsZDFNzSHkSU0XtS7GBr3UgM/BLuqn0O7rxRh\nYTvGGgkQDo77ytWxRflE6aoOSo8r5t7pCrEOV2EG7J1NkunbRdhjFEcWVg2X\nEN3P4qzUHt/aElWlKiL0LTpWzfSEP5T7LuExo3Gs2vBPZCfPdLZ+x+JtuTWt\nJkrVaNJUV1gPkYu5Bc+E+W29jETlH6aCsQ3Ln4Dm1IklhbZyvKzOxWuI0orB\nOd/d7anuOEcmoul/BUkHM307rAHdQOA42DUKue1EPz2i0qVVYmX0O0Gb1/um\ndR6Kl3qJps/nbczWIeXlx5xJMEuRgk+ENu0Uadnl6W6KlqWzGKKqmGTqahew\nKsmQ4VyPDZE3vVj8VmelmjfU6bcBdNnobPmpQkrmYjsBnDe7GfpwweXbKy97\nR0gUlLsiJGhAaf5EiSxJ1qPoMfGwgnubslCG7zIx5AApGZNvf2S9E7PUMa0v\nORFhTEUKVma9EEIjPBavUf6x30upaBXWEbNQyqO3eTEJKQI+R7HYoYIHFW8v\n5PgxhNNk9lmUq2CBxCHUF5UnH1xu/A9Ya2yYNc7QxIYW/x5k2xiVkCmqqyyC\nfWtnYfaKtmkoFrzw28vbI0AHHuZXLVM6xazso4kERzIhZgiXVQVdyVmf0zrf\ntQVA\r\n=T9AM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4855de82238b4c9baf8cb188d29a1e008cec6e9c","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-4855de-kge2frks_1602962448559_0.606973455198057","host":"s3://npm-registry-packages"}},"2.0.0-feature-2a5c58-kge2pqvu":{"name":"@atlas-engine/iam","version":"2.0.0-feature-2a5c58-kge2pqvu","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-2a5c58-kge2pqvu","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8d79858253564aa0e77364532a7b18c4ed57baa0","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-2a5c58-kge2pqvu.tgz","fileCount":30,"integrity":"sha512-3FGdb1TcjORAqZpOpdQ/X5L6jvKEIvtSSu1IIX6otqIUs71uYJOA47/P1S32bzp+/aKhwZ24OFSDt61WAguQ+Q==","signatures":[{"sig":"MEQCIBMWKAjGJFmfQB0U3aIn/RZEi+T4nqsEXSKLInYygs46AiBfYVLAm98qbwJsf/IuLXMJD441yJ08WP5F9jijdQkKBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfi0XjCRA9TVsSAnZWagAA/IsP+QHp0n/ehAQaj32XPhNr\nmqQn20voyWKRNQvuwl9QOMC6G0iWNMjPUsTMaTrWqAuxfjQ4RgfDjtC/2l1e\nlBsHJxnF8uJucLm5OdoiXNksawWm8v7qoswdWQ6oSIYDwFCBUl1vL/xhJW2K\nNokRdsB7nipVElyeGcvPkN8g6eQ0znlatfcNBVhIACAht2jHsMmivPGp6R2k\nR/j/hYH4jr30VKt0uFPDLqnoA5t7diRLUYhZJuBwBSLc5d3I6Rzx74LTrrmv\nXyuOvA4UpRCqURjAVDG+KcFaUQixFCZcbVL1/22nrUx2EnPJJBP0tOFl/PPu\nZNISKqbV/KII3+7iJTfKoCrY5oTR9Rdr0GpIv3nCqVITufjSbntVNoM5wbIo\nU6yZiQa5bYeSBTpAvUJV8dpdLJ+aXo3JXCt92gNatYaTYJvLv45tWabR13aF\nAfgPPPjWoYpM8GJ2VAoHqkNfbDFOrfMq93dSZSBvmliCmbcjHM9xMFP4lyVE\nAfu10HSKjWpnUMFW3MEh5bcFDGE5o5RVBwAaAw+Vx6yulQUSfi454m1M+1U1\nLGSoOJLso8YwzC6XS8vml8jRcDlocWdeeLKML0m9TVS6f4Nvyn9xPGVAQoLf\nLmdvh1YXyDb5ecGsAP9cTilRbYNts9O+wOzaKAPMoC2gyFMQ7DTGAJxNxH8j\n+R6n\r\n=IfrI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"2a5c58b1c0ef2d4da906e1b303e208febd41602e","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-2a5c58-kge2pqvu_1602962914588_0.7006799076933374","host":"s3://npm-registry-packages"}},"2.0.0-feature-fe5670-kge3obb3":{"name":"@atlas-engine/iam","version":"2.0.0-feature-fe5670-kge3obb3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-fe5670-kge3obb3","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"95335b14bdcb969d40ff99d5ed2ee61ece9296cb","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-fe5670-kge3obb3.tgz","fileCount":30,"integrity":"sha512-LHbGtEs55iqNeVv5d/HxSyoFDBidFmt5sXBgiD+AVneAcmHZJ0S9cuxWPoPdFee6Cx2VNnUrpFpcTKonflMWTw==","signatures":[{"sig":"MEYCIQCgb46JuOfksvmUlbbJEYDsc69XRxJTDnyGqa3EI6Q4CAIhAMoaT+EMQ7ddUB5UBnOuRVZs/iHJsZrymRe5Ah6Trv0V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfi0wxCRA9TVsSAnZWagAArLcP/3UmrrTinOmqkXG+3Pnq\nGFkSmwP48EKWLyw3ZAVXcpXOEnD5rGd+HpQYyLmr1QNy0fS5uH1DC5+wJo5v\nEjfsTx5K4mrzUWhM9OQ+D3G3B5sPUebqberj1B+5bkNB0UrLgIIPJnMSGGnn\n7FgYeQ0jBgY1QfondRR2yIHM/p2rXdv50NaAwAXrI8cZn0ADAMhX4uKevfiB\nYBhGEY4blGc4Uhw89Ko6EhAqGS2a8O3k4ofP2ToEyRvORSOrM5kJ45K3acZe\n+ykfvAF019efAD3Ock9YsmkFzh7Nd6mAW/0YsddpcoRYqa7tNeIVwkhQJj1+\n8ic3lfjTww4N4eFypUl0gzGKuJT4E16vF/ktQNgKPsq+MRGJSyGiZHRTTEcW\nILNfxm6S7e0f2aFT0ndbeQofO8E3EV8liBWxDR6P6EEKsadGRE2H75NFFNQK\nMdUybLD8218ksY9nwBIXrEopkm4oqM+zAREMVSrVbnfYxepRFFd7KMA4HoEY\nD78G81vVU2H6fXvpDEPZ9QrtDFNn9o33LqgDxf26Lfk+8nDRQNrLAP5R7xdm\nvtHuyz6K+lSJU3DHR/oYTwoojOeNSz4lf27sGjnzkpmyVHVtJxZnRPftPsgG\nxPsFUYN5cOcugUtZGUzud8S7M2vplGI+G72J58J+3W8aSPZXq8KTF2QAi7d6\nQSIs\r\n=ZEMi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"fe567094b7b4a43e32bfe71f69d953208fce0a79","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-fe5670-kge3obb3_1602964528591_0.4294813838035667","host":"s3://npm-registry-packages"}},"2.0.0-feature-a1d8bb-kge3ynjw":{"name":"@atlas-engine/iam","version":"2.0.0-feature-a1d8bb-kge3ynjw","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-a1d8bb-kge3ynjw","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f62dbf95a54f5815212d9d3b1a5d76d8145e0b87","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-a1d8bb-kge3ynjw.tgz","fileCount":30,"integrity":"sha512-sN4Wn03zW55RcU/kBlZu3zVuyMWGvK+Q0wb3GWtODzIz3Y3Fj7GsFs1wIXPDQ7OTLWukBVpqvcwdVzGui7Xuzg==","signatures":[{"sig":"MEUCIELM7YOaV2f9STIFrclaEH/fT/rryaj7ncElnhc5JWCRAiEAoqwNzTBzwIZEPr4M8V0zPTr0+0Z/OepaXl24eagX8bM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfi04SCRA9TVsSAnZWagAAwbcQAI/bOTi8smjOTX3S/xJk\nrbMVGuNF3Gt6+MejHCsiO0L1CBVBjxFmlHQeS0p+sfRJ1xUH+fHA5S5iBJbB\nGS55Zyk39GSv2OwxIEm7BhMPibMcuVREH/0QTCylk5yPLQTRf7mS2qk6ncfW\nCT588wkdYAXxFK940URcdMmCjgAUwmt7KAR6yO+6JbNjQ2hiyflu+3LIlGEM\nwtOcIpaTrAl98FUoz20thz+01cAyMHOi62jDeGS+Jefp3Qimnd7Ct1q8Bbil\n479MIBdHHDL2gdvhudMWzj5WpV2NqJktC83q1+9P1VvJvU9oMyhvPuhIfOQc\nI07MyRUD2/awQ5aI0RyBf87wBB29VbpQrf2RUz/7aIiAArtiEy7JaBJza0iw\nu12QYObFYK5m184hmGd3X9BFjMflqjPulzJJDkDLub97CGvGACKIYc484i9o\nVXmbRY9M1NM2Yk12CthFgv9MjY/jR7ZyuPP3rtm/bTpJlc2Adggnxgy5TCW1\n4IlCbnDkdTGTQVgIo7QdjgLghzSGdg+EDsL9Ral7ovIIr6bI5Xqa+jAgS0ya\nHHtn3z7t+TtjGUsghEN8y4LB7cPrg9g+94ROCxGzlH76AZdzmGyhcMmaxWzF\n8xk6nB5IEBDN0eMUEVaQnpikYWmppOGHksX2kubBueKHpF4FLXfC4glgHzpd\nKgx1\r\n=rCYS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"a1d8bbe989917e2edc172f9fdedfc4cc7a3cd824","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-a1d8bb-kge3ynjw_1602965009876_0.4268861914643778","host":"s3://npm-registry-packages"}},"2.0.0-feature-9e6ce4-kgf36tuk":{"name":"@atlas-engine/iam","version":"2.0.0-feature-9e6ce4-kgf36tuk","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-9e6ce4-kgf36tuk","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"46e5c251662885089db080449128f950743a06b7","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-9e6ce4-kgf36tuk.tgz","fileCount":30,"integrity":"sha512-mliQPmiom2vjHRk8vONViHYjWRk2LjcaEIHzrauf7Kpf3eCizvuqrgAsLvh90VPIdCnp9RySbkw4gNDoufBirw==","signatures":[{"sig":"MEUCIEbCWnhplN2p00TUH4vNgKI/P1XtJVP6gsR7SEiQUIL8AiEAtQ7/RNbTpQWQNTiqQRQcgAkuukShJhE/OGogDdeuy9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjDUyCRA9TVsSAnZWagAAyDgP/jI7TvN3TqTdhpyvS4yJ\nVrtwSGLdPQg185qVAW+esbCKq25FlXDMgksRVqgszt+7zZv25ZljaNJJ+k6p\nLU83ASpdlcXQhRuwR0kpBeo57tOIG/eX3Mx2aIYS9syUqqXobpQ27y5t2Wnk\nmnhTlhnLuOTuwFpti7c6W8FIStVCkudmgPGvEEm/OdiMJWFfq2VnGCQ/AMRK\n+3ZL61Jmec4yjuBX10tCQl/NuhZoH+b83MMH7XT+D77pQmCoVDjOVl+FAlWZ\nfMxtKnrEhZqZ1IXVBBdkPNglxlcE1aISQa++M2Luc4g6exKEkjstEdSUPTWg\ng4+UM+cIPQf/NULqwMU2VQ7ZEy0CAMGoZ3qm7g+hM33HXFFqfjGhaSR6tYM4\nKUnuy8Dl3ypr/PsR6R+/MqoT92bTYRvpnhEgmAyD4bk6eWEl15BZrdbWQ6rr\nS6WGXBbkGMlgZmEXvjiBNdFNAgp+x83/xk+OPzHsgZfNqlceYDR8fAunrU4w\nRArInc3pJSaSu4axaqEy7dteuHfaiiUsSwdtVyVvup5E5EOstMYKWBbIL1Fu\nEtg67FUWUCJHIX3cIptjjHnbj1SZnyq9s4oj0kXF/J1ikpPwF5oCttr8UPTP\nkLX1LQ1TuPnCSZqRZK852NZtGSBr6H0QUPCJqJkN8ekxCf751bmgbj/wIRDV\n7prk\r\n=PHAv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"9e6ce485b60d4aa7cf47831c0c3f0a0016ba4af8","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-9e6ce4-kgf36tuk_1603024177899_0.8039030346788218","host":"s3://npm-registry-packages"}},"2.0.0-alpha.4":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.4","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"6eb8d99d4cc637053d19d39f87a8faee6402bd1b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.4.tgz","fileCount":30,"integrity":"sha512-R/c5Gv8zJzK82qXq84hMns38ncKjChma+DVJHAv1xD02XfC0OVaLl5lyMfpTWenMDnoKBbE+XodpQ/kI3VwfIw==","signatures":[{"sig":"MEUCIQC+WEDQq//LPd4U2VLdrIEaWzme3+til9VUudLaChEoYQIgUK6BmfdQURbYUpgKGs/89MiXRrE0T0TRNdDU+qZ3J2Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkt9LCRA9TVsSAnZWagAAIpUQAJkh9wojcLnEGMCyghMh\nDqagENJymj+SqTHrsUBrZChGJ8XAoGq/KZx5PmTXkUr1HpgGcuJD2UWmS6IO\nSUkHVZDrHyEPFcvsbMsj/ZEVB+HyNPMzMY5vuPwzRsHiVVtSpj1p53EHRThK\nA8VLkXEZ2ho7v7mFjrRS0k0q7yJchyiWmJuxzfGCChb2k3EVp8ll7SOUO+pf\nlm4F/ib3FW3jW46uXdES3SBtwXoiXjK+quQjlEqnGN9s+/Hjml7gM4Ouj6PH\nMa3tegmexHi6esB9lQEpsZ3p1O7p9BCSn960DNYII/Y6UhMHcx/t1EXW3jar\n6CI63Cl5V656dEjaMgccD3AJm925PwvgqCaopn+mba7KJ9MJXQC6bBr0MwSD\nSUv35OLt4sMP3+gGNNbqN1doopkJOGHwXSJYicXI29mC+ICkTc8Oe+Ufg9z9\nEP6WxmZwsazJW5esKKXrajItdckwCd18zD/PwXt+XhADctJEJTC2kp9B4PZv\nxr4ulkuIqJ7CMOyNx55p92Wm9bPmpBbWeBOIA2X7/Itcd3pUVTJTrq0s2soW\nNEn8OsoCHB6pG3VPOoqZmD2DonwkOqovX2UpQLgGtLcmVBVkM62HW83fe9iD\n8qKeCQIDWM4k8L5ZjoziTkrrFjx1tCedvHHbbfEhmqZeXdx4kDeiHyorv+C/\nYjUK\r\n=4TgW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"1d9f0a24475cb5a95729784425c48ac0b170046f","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.4_1603460938550_0.7065608352521076","host":"s3://npm-registry-packages"}},"2.0.0-alpha.5":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.5","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.5","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"82a6aec8b4446f8ccb5c547bf015fc2820c0a46f","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.5.tgz","fileCount":30,"integrity":"sha512-qWBISYdOw3cDcqnAPWJdOdCPmVCwKOjt9YD/2JbXj8OX1q4EncQZN3SjtLiABP6P8t62LNFiUpnsD6e9W39ylw==","signatures":[{"sig":"MEUCIQCOXh1tk2lbMog8F4N+YniNL7MATN5eLB/iq/MZJN46+gIgbhWVznjjS3RiklmEWzj6q1U6w1dVoI8aRDds33qk6RY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkuVBCRA9TVsSAnZWagAAOysP/i2HPSVdWn3iicD3iWQE\njTkZdP22aib2QopcUlBgwL38d8sOKvYLyje1r8VZJ7ygyl7QVo133MYP4iJR\nItPl4RTFRNeccETmZJ0iozj7sWv3SX2YlPf1Q4FnZ2xdhh7754sgAuiN2y+2\nZggRb7gDjz8H1+NiUxOnSz/xfViIjSrMEYF6PAk4AjqRzlJ0ENnoj9wgrRG0\nIYYn1hw/PfTOdSOp7zvI33x2UHkllcCbbwdbqzp8AREbGvdwhKCvFPZDCtxr\nK6FjA8K2fbTRS8m+a4b8HMAJFmdv2vLYJRR3+GeNw9vVE+Ld5Uv9d5gBBh3P\nR+qyZ6T0Z2l7+jPKe5Z6qnY+tvmZMEQgFQMrQVuFeoI8h5BUws7bOWquWzlz\nr8icyZAUZcbMnmbBhGfoFULR+kg0Cb/wTIaWrGa4BkskDm6Zd7X++xBA+TfS\nCPWvuR9cYKbjojkmBnsMUB4qRcar/B8USSFic93f17AxeKL0CcOeNdNqeWy5\n1qZOTIUocmv62axxlw9paciAFBik4Z29LtVClBtNNre5pMAbo9MHmpq81wyD\nERJaeGlMCQvWBfzCaLCUuOMVZOvtv/vxB/q0DR5wLsHbfpwRMV0SJQrjt3ln\nmpJragdxVcOsSWnojZU5HmeCYpRsxLJOEll7+O8Gp4p0ZQmc2X6VsEUHl+Qf\nOq1w\r\n=H0RN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4159680d3b387b06bd18d09408e730efa0d89142","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"^1.0.0","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.5_1603462464704_0.36399853290422657","host":"s3://npm-registry-packages"}},"2.0.0-feature-57a111-kgzekuqs":{"name":"@atlas-engine/iam","version":"2.0.0-feature-57a111-kgzekuqs","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-57a111-kgzekuqs","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"df34786937953a508f4b1d9d4ca446eb44f50e19","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-57a111-kgzekuqs.tgz","fileCount":30,"integrity":"sha512-z4K7eLMdwhCc+r1XvG1iIILaF+SHRZDqThVxlrAqkSBer2fvPrmXBqnopUfy9XOszxjpOeMHwO6MkLRWAuQAiw==","signatures":[{"sig":"MEUCIAdDpdOIS7+hB8ht3eNF/U2vGYaaBpplpdqzuwSTIbRYAiEA3sWK14G/mt7bwoAn9N3B4RWD5tLOCm2ym44jrvG8utA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnvPXCRA9TVsSAnZWagAAs0QP/07OQ5TyF+f6TgbvSeri\nTkcSQupTSRCzQ7YsZdaniQFyVTGdr3SCS2DOClzV0qZv6w5h00MWSSkdoLgy\nC4k7Y6mpIIJ0kao0tA0KRNLwGvOpTcXxhUNAvMyiAN3CMkM4F+5uvCC6NWFS\nZ/etEGv21eVj9Kgp1AiLbxYGiXorpof53Pl9s9fWQnTkQuyPIwCDI0zsYUV6\nTrk+KodmfI8GF77Wyes/cIsGlLsk3cKIFhGDMgQTXAdaFiat7SylUrbQ3x/F\n0r8aJfNZPM/CdxniYdwYE6EpzoOAdvDId2rUaIB+p1j7Et+OC7jd1w0EgO8R\n1hYHAe1v/Vh6gPjWWblWKOXmlfAknAObVyjy5QzE390TB1A7Cw2jAy+NH5JU\nmS6aaHftyN6LPGV/mqTQF1IN4wMaZ73tvF6Bfq5ojlz26QFNwU/0qrdXef5W\nsVu1z03/d2FPa+TB5rlEcjHQlcOnwS1HplIQ4CaNTNQWfLxh/5sr+uWU/0Xj\n57Vkuwaeyc51JDHZdu1LePF7XROcoq1DFE18dLElklM1tRhoBuK812lXIwus\nNeCv7fbhkwI4A4o0JdGZ5PPZYtNNs09iR+sv3fx2NauILblqmSndoyLxIxW1\n9kZkd1+7Xr7A20tGMvIixOYf+IOcde3qZP4Uhh1HYkZNjeSiNvSDwRlP/90B\nhq3E\r\n=CJce\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"57a11104b3c180fece3917f776296cbca70df609","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-57a111-kgzekuqs_1604252631103_0.6853745996211482","host":"s3://npm-registry-packages"}},"2.0.0-feature-0807ed-kh0dxla6":{"name":"@atlas-engine/iam","version":"2.0.0-feature-0807ed-kh0dxla6","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-0807ed-kh0dxla6","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"7dcfbfe0b3dc85904b6d6a60aefa7d8d7005941e","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-0807ed-kh0dxla6.tgz","fileCount":30,"integrity":"sha512-T6WvxTh8GACr3pBrs1KDT4uOloi4j6+hNj7STGDeHOl9IeMHOoCDnlofR4h4UxJwK4OuzlFZQWZRipfNYfB3pQ==","signatures":[{"sig":"MEYCIQCndB3imyjvafU6hQcRG61I1dvlvFYPTzKx7l+I7x2geAIhAMUTp0AJ5tMVRu3J7Y7exwwjnhaNsM/J63MpTKMl6gsa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfn9vQCRA9TVsSAnZWagAA5xsP/2KDS6vOsemIG/yPfilt\nhszRFCxEGT8U8fDl9WoQpuPGxwDhURteEAwv4KT3ePP99/jcAy0WjRB1XeJZ\nkV4hs8nOksVa1BelHHILqw02WRNUzRdUnRZY40FFY3Bg3SvwiIMund+nvi3b\n5lRvI/n5SzENZtGo29Oh6j+UXXUTrtDpCYnweZ2dVHbF+Uy75DIBDHui1kip\nZiWI7FHrRTiw0vZlFkqNfVhqsGEJ/PlaliwIoIDBizpp1uIwg4pxzBPOQDkn\n71w76ei7Se8giI144dZquAlgLXuzs6pguXVPb3NF0pGChYUI3txc/FM2tkPa\n7EI0i9O+Yws5m8sVLTIUWBwzW/AEMDsj/0jQJqjywLEnn+fxn1gPeJCCB/UJ\n2ieaAq2Pl0fLSc/mVGaMqZFjr1SfxACGsQ41Smo8iW7lN80BbeyrqMmRTn9V\nS3od3tbMjOzplJ6rPsdkKQc8PiR7z1lAoPz+OQsVGP27ms+tpr3PD9aw2LAz\nUyunP5s0Qr5h2TWwUDzAF96iovb5Vvq+PK89R10JyClcN9TBQZ71fpTNUWcN\nOmg/AJw5lzIkGG37A4Ry1Y45BwsoRlKie/Gf6vV7K68WCsSkDmfUR2V9p7vF\nArAYWp5vNEXV194hyBgGoSJMAKbuGEaOPHwYUnna1axYFC+EDNpTFLLV2vXi\nDS5q\r\n=Wqgl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"0807edec7399c76df0fc7d74d16f449d3e9de398","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-0807ed-kh0dxla6_1604312015718_0.4470646479576874","host":"s3://npm-registry-packages"}},"2.0.0-feature-8f7c72-kh1xljui":{"name":"@atlas-engine/iam","version":"2.0.0-feature-8f7c72-kh1xljui","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-8f7c72-kh1xljui","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8774d0116b89d96c26681a1b5e88f36ead6b8e69","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-8f7c72-kh1xljui.tgz","fileCount":30,"integrity":"sha512-o2v0eVCifYmJJo8n2YOlS5b8aiV/oYnmGiYRZUwpnEpRU/JktXr+xtuptFtA68Ef9xjXQ5blUjgsOx7nXNZaxQ==","signatures":[{"sig":"MEYCIQDO/uzfNsMDK54AJEh3bqfSemdPDA1/o0fjrfx6nk+R2gIhAP4lQbWyIpgkc1TmmX/i8f2JX/ppBIZBnMTxGDQiQ4TR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoUkGCRA9TVsSAnZWagAA988QAJrmc/u8mv9su1mRILx+\nruNoqt1uzfBIuBX5KR9/+p+ZiDqbsyDmjQoyNMdWYRf3tensq5pYwD0IhwlZ\n2218WBJZRhcfcxNZWaTLkOQ3EX/z2lxqc4GEamjyGICbBSwzgceoAq7QYVd/\n9G/C4hQQ2aGdWi6/UZRLN7Bm3aTSp7klSc1M2co7f05RYCU1P1KFF2pqUcDY\nl2fnGm+L/zD3E/Yu0BBIkxCdafesv+VCsJuxJZo63ulaDcLnAGf0vVPwQMdN\nbb+bvZ9O8TKRKjpN4Fkxl6ak0CCQ979JoSzuJJq19YYwkJ1X9ZYn95mohtPt\nHGrEZIz8PtQokRG/tnGk8jMh5yf5xcJulEGo0jZqisjggegiuFzNoHYOfrWK\nBbi9zW7CtZ0L7ZVJB/mHgB4cC13KTxWrTs8VNzW+ZU4gkOQ/KmbIakaMKCfg\nsPloNhs+gvLvGR2uChDIhWgBVAIi1QogTzcu2HbkvoJZLS3yZCJxSdzctEnb\ndjJ5jkDwKB89pOFBU7LG5p8AnaONbcdzHe4Wu9Scem/kogdHURqB0fap9bST\nvk/xe5hMjG+9EQ1jXiGTcaFdWtC4T1OLvv6OATVn9kcFvTgzrW7VGoaZ3Szn\nXnR88zH4joZITLu4SCDQn8MKqBlydebTL8Rbi5E8q1D44cHutcSDD1Zm4dOo\nLJVW\r\n=sIiY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"8f7c722e503d4d36ef30dbeee9d4eea4dd59e0cf","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-8f7c72-kh1xljui_1604405509996_0.6867849723665911","host":"s3://npm-registry-packages"}},"2.0.0-feature-03e9f1-kh2d0h2q":{"name":"@atlas-engine/iam","version":"2.0.0-feature-03e9f1-kh2d0h2q","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-03e9f1-kh2d0h2q","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ba98496aada2d9b192b3c489d01b152da1cd7bfe","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-03e9f1-kh2d0h2q.tgz","fileCount":30,"integrity":"sha512-kyHj++5OqBnP16jxdu8ICfxx5GNq9ovKMh9wP4xOg43dxdzKH8ssdSDZ36VeVgU8jnSm6BkFRhem7sPuoVepyA==","signatures":[{"sig":"MEUCIDiHSYdGwWW4OLErkX40rxt55iaGYTYigNQxdJvtp7ZuAiEAqMkFhWVEOvYF3tdOKVKlzivIwVwrJDjHwM+NKurh7oM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoa4oCRA9TVsSAnZWagAA3VEP/0T/q5YVZUQZUK6rNY2+\nqo7GVh1Qz9rfQwt1G5CUyiYGN7CMf7sI+EOQE1qUaeNtKGCOCr8UHIA477Wj\n3P4O3rzblE1nIX3B2fj79EC5HXL2RsqvyATD3prqmbwJjQRtXBRPVch+kTbh\nmHSMUm6Jsk+V7O/oixjzeIimrfM6R0QogeYyeVS59NOWN87xmbwt1WLBg+Z2\nA1oRFkzPwQVHZF7aJ9poTgdiQzbz+d3kxMX5jjPM8beNE1gSR0nVQrvOoo47\nVIy1veVkXeC1MQIvklidn9odAGszwLsKnE3OYX2MVdpiu1IagEanyBHJWAd3\nLq6njbcO1zBpBjkck3ATDvT6t4/tuAukTxWTkLdytB5l2xUgFm6mQgPDzJz/\nAeRbdgkDdc7RORaKf3OYGqvnprI4fEmssqKg3Ojgum4y4cRz/8d219feqxrj\nSm667kqItaz9X9NuPCCL3L+GXt+n1OgPUXalJCCKbrlfWItVIq53urPaycIv\nACLIMmENSQEak7sHGm/iJmACRr3fpv4Os0jF/usYub3epRa6I9+GhXfRhnDo\n14YYKplOASES8vsZP0ia0HPCswGTeGAVC1NqEVCIwFMtorFN8UCA83g1pwLU\n7AzOYnjLbAr623ebIw6cpFidJaw5TZMu+S7/1WC0nS675a214oFD+JgWK8xa\nX8gq\r\n=ynfQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"03e9f1d428390c2015ee657f82ab5a8778daa5d3","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-03e9f1-kh2d0h2q_1604431399796_0.8540917172046303","host":"s3://npm-registry-packages"}},"2.0.0-feature-3fc38d-kh2gulhh":{"name":"@atlas-engine/iam","version":"2.0.0-feature-3fc38d-kh2gulhh","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-3fc38d-kh2gulhh","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"cab661eb08c429100fdaad037e39fc3284b1070b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-3fc38d-kh2gulhh.tgz","fileCount":30,"integrity":"sha512-mbkcZ/+H4QblIJn8elGWihy9HGPqMR3L5FMFzuItWIPb4jTpkW0AY2VZFYLyAAr4hKlHI+5cvR+gf5+PfU/ugA==","signatures":[{"sig":"MEYCIQCy1qlFAPyJV5whM8/mIezM7ccDDoVkAx8Q9J19OBLx7gIhAOhW3nbIt4uRfhonMazu/1nDRIx3emEukjmT85KLHngT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfocdVCRA9TVsSAnZWagAAHXMQAIp+F8M2VopFrVAMmiWR\nPllDmfW10VSgGa+GSlxdMFQNlLmnQSQ/WN5u45c7IVlXfPL5gJCatCMnJlmg\nSbWKBDoA/m6sEZAMq9Zxf1ZBK0bsdj43pQNcIHLZyrVtGMv5JJq94d4hJpOO\nSgGu7l465YeaolQk93eUrViPeYmgWmmmzZ3f0R4H1HmyIdjvvC1msJMMeYiu\nRxxnKYE7b8PYkynxNbp8Qbuw52F93Ceyvx8O+KDpxiyYPs1GiIGOeqVChA+M\nuIpLeJq2bvh21Pv0o1OlQG3fLF0Ng0y5znTdQHrlfixm741OKX5obSX39hNV\nIIrpkiNfGv2rsrE89/pm3jWAOjODjCOER0PgBfX9cdGTGQGyFoZxSCpxWnM7\n7YEav3IsxDf/gSOF1KW+6AGLffpmOetMGYM5YYjcqE0x1HBlQbgOFsKvqpL4\ndGgKJTc+Shyq/3fuX5G0YZUTYN+r/9uxCfg7RdMCaBtg0LFGjK4HaOXOIBnO\nkViBXJYu/3RGRZjNuUCUa2IwinAx+em1ubeLBtzsMzYyG3gDtLNjFE8WkdMv\ne6QOWW7uCgZmzHrCbL2dRnA89N4kxBzVd7k9F3EcSAdIaH7csw5iKoWN6Go0\n2zYcbxh7vww2gYlKgEYY1wrSvvyhVAo4YHbIB5OXWjUqp/Pio2AzlW8k3u5N\n5tmC\r\n=A/G9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"3fc38dec0f454dff129745ce11ba60464bd80743","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-3fc38d-kh2gulhh_1604437844675_0.6959246349871826","host":"s3://npm-registry-packages"}},"2.0.0-feature-7c4792-kh2gzaou":{"name":"@atlas-engine/iam","version":"2.0.0-feature-7c4792-kh2gzaou","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-7c4792-kh2gzaou","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"643043fc9a3bae642a712c7935e8b3dbe2243e9d","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-7c4792-kh2gzaou.tgz","fileCount":30,"integrity":"sha512-2p+0vdgkRD5XWkVl8vbM0RbTz+xXzaWfg82BmC/UIrFS6HgmkomiToAEj3qeTi4MNFQO9KaK19+9KA7Eh6bmQg==","signatures":[{"sig":"MEQCIDxVLY1AQDXNXJLiGxoX9dSGXk283bWTbRZ4fQdnHbDFAiBN0460L2f2/D9seAuTU62qS4xG0CWf/QbKCukbfFq1OQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80519,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfocguCRA9TVsSAnZWagAAk0AP/iIGlbt2gZlbBcUkX2a3\ngUEJlaWBjxPteOPgck7lhiFzymc8rGddkmXxjLU5f8XNKRc4rQ6Z26yu9rC5\n5ah3UYAEK4um/bSILWL/nxETcUIJgsmy9natz1wRbuXr+3S7EoD+hiAfdj+v\nhr1+7ljwLfOmg0m1vdpeigZCUfHlu+sOD+aVgrrbwSMPND7wY0zKTDNLbNd8\n4+9zFa9983zGVFhW5DzSiYHQr6nkMwl+tyYj6SNnSSBxC7N5y7iqevrmdwy3\nQwkRnVziyMQ/z69eQgpIfTRV9B8SS+bUFBnKfXmmJGAeyLPJoSeeet9cSf0j\nMM3eQbBtxguEf9Eo0W9vFXMzorRuDxZuJrcS6JGhPF3eHG8rEq6/dohdN1iP\nS7F6h+pJjFPJ5rOYhxvrWYYoCqNXy/vPSI5gGDCeGePCs1zJ+Aa4JrZeCY6B\nwAua3msdQv5rOWokGBOhsR2Xol3z/gd3vsgfN8OLX4qd49xnJSbfYzuyVqrR\n9+A6rWNGB33sJrxiJbRaYK1biRmWMLSiDM1D8t6ojc1U/6vDfxx88asWqEmw\nN3W/PkFUggWaU6Sn+sikTnVPBpxtN/fVDn2gs0Gpmnqo5gyAPWwTC7xWXeIa\nyNKskpChnamBbRnooPYXhUVfTxs0FBNP4xM/tsqzflG70iXU4mxNvrqSw7gp\n9nOk\r\n=7GZy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"7c4792cc85989629c2cc0b13c0c06d8e65dd6d0c","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-7c4792-kh2gzaou_1604438062326_0.9695306682329461","host":"s3://npm-registry-packages"}},"2.0.0-feature-2795ab-kh33wfuv":{"name":"@atlas-engine/iam","version":"2.0.0-feature-2795ab-kh33wfuv","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-2795ab-kh33wfuv","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"fae6927b6e29a222de8a829fd4446f4b2961ced9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-2795ab-kh33wfuv.tgz","fileCount":30,"integrity":"sha512-n2BcAdyIAK1BNMjq3NDOjEWIALBVffWAy4a572fJkz/ItmfH0m28qkk3fdCoAvGG9o+pxLgpb+zfoQLd0HtdEA==","signatures":[{"sig":"MEYCIQCX5amLEpbs89IhoKZ1GPJcvLwEH38t3wZJGJQo4nBChQIhAOV6iYIF701xf/orRDQq9gt2cme+bs3htDqfWMr0Wi7b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfol6PCRA9TVsSAnZWagAAyJwQAIrqecjx32KsROMGdFVh\nAwi5gIewmdfQoKCMeyoWb6MAFuJk/ZUtAH/A3u7xvDv/h94uZxP0NoqlWPQy\nr3YouJ4pGlC0XzPqfG2KUyeX39fQqvkA8Tpayc0vaxJEAg/9q8ACazM8Etzy\nE60R7ESpAz6ZDF6aOAgDgPP3wRF7c4In3c+c/+07acYjUrIKQ8PpPiKsVlOb\n1v/T2u79xYZ6dXjwMeIJrlCgWpUvrrXextl8i/IFZOVHn9gt9eiKn/Psm8xK\nEye8+3gOYdbdtVIB0o4fjWP07oCdM0Phh02Skg4w61BxxyB3kXTZplYKHcdb\n1B2PtuTp4M/yTTeS55LzAgdWZQnNY6193dPJLuyyNIrZoIZ8Igs5ZX3vq3Qx\nhTIO2Bnv6jL1YloW/HcaoHdDMPsSlDg1fT5E5Jgsgfk2dieBRq5BFdScZ9gn\n5l896hIzmuxnvB+yM6JU91k8nY36ol20XEVLrxqkdLtEYzWKU5pfCh0QiDQG\nt0uWWrU54VzKdYyCcY/GUNq8k/B+r/qrx9oBnXG+AkB3lNgSB4S1suDIjr2B\nIDDy5UmpTFNzu1UYOBUM1sSL1u33dUymJziFd67T64tZVb/w0QifEshyjVC7\nD6yKPzMBQSB6pqsGQpq3qqNF5rkP2k55+woTY8gdZ8P/tBjl4NgOZ4YvLH6P\nBbA1\r\n=UB8G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"2795ab7ed4b64a664bf29c7f94afc8606383702e","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-2795ab-kh33wfuv_1604476559160_0.018061798996454437","host":"s3://npm-registry-packages"}},"2.0.0-feature-df370f-kh3efm3h":{"name":"@atlas-engine/iam","version":"2.0.0-feature-df370f-kh3efm3h","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-df370f-kh3efm3h","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"9ea4a8fae4bad0120940fc9e3034e7f306253ae0","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-df370f-kh3efm3h.tgz","fileCount":30,"integrity":"sha512-aqq+3+tbnm+WmSQsavZRD/HTa82Yd8ovz57d8d0Bl4M51U4mEBYm/xEGMXWEuFGYhVYJBnXzfxQXmf/DPRXMyg==","signatures":[{"sig":"MEUCIGfB7P0vjKjjhD2inpyljxHRfEVdyWnhsHL1Abb/tMuAAiEAiDL0vjVWPqFo9wffm9X+KeQNX2EKMpEFJd79/IlW90c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoqOtCRA9TVsSAnZWagAAazUP/1xlRrsCAS3EMHKbdZRq\nIRDkNStIBKNvK9d41jydtLd9gr8VqTbpW6KgftqiSO7b66rMOwD36jnbLfQg\nUGzCF6IhV28ZQDKvsB30HzE9Y4cwrBBFsYGh8ioASmOVs++x4prZAsC6nhR0\nok7eUFznQUgu3QsLFj8W92d/YwQPMCF2GPUpjMjrss9EuOM1bA9Goa+wV0e4\n1eaJwzZb4wcVyy9zMQSWcRS4BIua7e58vE8J3wMFJuw7YOIYOcN0Mikntdmf\ngYdUZDIy2u5mhNoWFmLr99nZNCFYctzdeBC+e7lla1Wnph+g4/gNIR8UusbR\nZNQXJDGZ6kgTGZkAPjDCMCcvLP2gjWVbm7DVHNWejfu0wxV8opTc1HqjO/NU\nCJIY70HqQmVdKjGSq/2x8mRhaftWxw6kw34dA9xVWvavLRTAt8T9NvgFsMDD\nIb/TRC1o/yDzVegsTwYC1lofzHannt5mwisYV1cE7Qz9mqY0kjIV9mr/wtqZ\nTcjeIwBXUu7LBWVAsPzo2OEJ+GLMIzWbInsblpUipo3AD3ETrGyl3MGaBiR2\nQq+zt/9/1souI7QGaCfnZSguZQ9ym0gDhwqSYFKg0ZhUJRZuis4OAAxLvGv7\nFanndQi3JQ7UMy/dZvytlqfUT0/JAXn1VpnoAvqHxB3g+AivsZ4mb3ermFvy\nS28x\r\n=PQsY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"df370f7069bdaf0439f7a791ebd5a922f59aced5","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-df370f-kh3efm3h_1604494253166_0.6434725486068624","host":"s3://npm-registry-packages"}},"2.0.0-feature-1de94c-kh3egu54":{"name":"@atlas-engine/iam","version":"2.0.0-feature-1de94c-kh3egu54","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-1de94c-kh3egu54","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"a35350f78fc3feda74c4aafcce755a38d5fafe67","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-1de94c-kh3egu54.tgz","fileCount":30,"integrity":"sha512-toczc7fkj3xS1UpNm0O7dk50GuYppRzeQ3F4O3PZTkUCAWFJPuG+wOoBB3Zlp/gkFoMEqx8dY8/WPVsmj9JECQ==","signatures":[{"sig":"MEQCIFLznKU4EWb5hM+f/80rIpYF/EqZM7uKIqkFDgzstch4AiAQ9IbGhlTecG4EpEAkRqzWgI0f8NA4gvl/zk60dXzuJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoqPjCRA9TVsSAnZWagAAO70P/2ChIvG2DTx1ibVe1KwP\n13wI8+hXfmI/+/HMd6iaPJLPBWPX13I/UfCMEj+4LwQy0s8Q24aQcLUCFdqS\nIDdro1sxRrtSP7Ppb6npq1rf6SgZ2hJubLGyPP9tTmXiyzIxvfgKMAkNB20i\n+5Er/rPkb4vtw7O0wzqLlFLs8x23HiLqoerzMuGVG40KmTfpPXKZ4hrFG/Kt\n+fGrk4x/RZnRg8pjTOMMBlPtheUMJLPxEYPa3a8DE/qVGgCSioDPljzE0v/w\nLbo4adm1pkxspxo6j984Y9WjxhttNtLYfu38lt4FuPWq1doJWBHiKHZKxuc0\nbVI/gIPqBIEisIKiDvPIfeoN2gHauxWkDIyhzPnXTD7I6V6XxIghSnxRI+Lm\n0XDPaGlpFtGuers36qJdIZK8n3eLuY7/RVW0ZIElxNdz9J7FRplg+tQzTeg0\n5WbK2ZZ+qeu2u6m+AAt5CBYylE+niYbb0H4RjbLGZ1TKV/7mTnCE7fO27mi5\nKzMEXSOPC7AWg2u3i+B67u+gkZ2RAYD62CHajZcKaUhhnnxQKvHOgzVwUy3S\nZ+yUQEvBLS+ZS83R5bl7gB4KM6hh/1hZ2AxiDl6W/94r//eHR9xZsiKOQByL\ndIefY4tafNALBtm8vA865+F2qlvN7cRcEbqwvmLrfPMDkGD8lB6J1ks4Bbry\nsvpa\r\n=UviA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"1de94cfa5ada98e22753433da539ca53f92a7a27","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-1de94c-kh3egu54_1604494306934_0.6669445820242959","host":"s3://npm-registry-packages"}},"2.0.0-feature-c0d70e-kh4plg8m":{"name":"@atlas-engine/iam","version":"2.0.0-feature-c0d70e-kh4plg8m","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-c0d70e-kh4plg8m","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"784ebdf9cd3252c81c9274f9d0bdeff88e056221","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-c0d70e-kh4plg8m.tgz","fileCount":30,"integrity":"sha512-C8IAvXiMkA5XUXZJpG+8H0RTDdaACeh+jrPHQ9I5mNqYjb2lMfo2F3tQvTa6PAgkt3I3lHCW3ZClRGT0bH0JDw==","signatures":[{"sig":"MEQCIAIkmkpeZqGPSRzdrowDgWY7RNDzHVYfcUjPoDXAI0quAiAKibL/KD/Hv+sJYhEUNqzgJ1seyjqVgvoHcDC5ru4QvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo9kaCRA9TVsSAnZWagAAUpYP/0uk37pKiJCFrGEeTefC\nRG38g9AjblxCXKwFg6rVu6YJ9mDUcFwsdDn6HMiwaMEUlPwhMr8MEqGAo3Qy\nwtsvcEHmvT7zHp+pniB/iTsf6+TS4XpdULkzWgH4Yh1GKk0Lwh1CYaVKuZTr\npNQefgzTQ+NDF2HZLyO3RiJrBEIRvAaNETSS2fcHjlpj4EJSP1YnKp8ECf8U\nWIOSsGOCMSl7gheWaRAVHuWqixIJtyJbauYMLHwvcUeWiaR44nv75ssDq+v7\nTDFNOjZCH3Evclh86BN10bH6BO0FPJZymB/N1Q6h6Z4HK77/Wov+T2cg9A61\nt3BTTHMzyjNT//2P1GEdQIyxbqZu3bCbzhpy7C5L1Bdaj9ne9dLXByhvrsjr\nAJ3p4LzD7GsvZz0rK0RkNgDmx9C66dpa8e+nb7CWVAQMIxnmHBCKzltvGxtE\nFhfNwvpXSS6/o86kNkFd/ub3wmTKP1SlWxKdbf/hljfPzYiyyJDYTemD2EeO\nkp1YQIIc/m7x3d7m2WNbWTK2KYy28/tEm648nMkGxExTotnu65GXQ0CXU5vf\n3ZHoWKsDQ5adF4oh1yfS8+UUBjX4K3gCTP0wMIS4kM3Ylflf1xOkbfjUHbyM\nrjQIQBtCTPOzRC+Oa/AJ3mJRZVMe/a8bfO95PYmmRSobvnv3/4fuzGe7qIVM\nykS9\r\n=B/hN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c0d70e301a40a9cae06086195ede4739393a9689","scripts":{"lint":"eslint src/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-c0d70e-kh4plg8m_1604573465788_0.091684295143583","host":"s3://npm-registry-packages"}},"2.0.0-feature-b6c6b8-kh4uysvw":{"name":"@atlas-engine/iam","version":"2.0.0-feature-b6c6b8-kh4uysvw","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-b6c6b8-kh4uysvw","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f3644e087dde906116bfdce40ae00433cfed3b1f","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-b6c6b8-kh4uysvw.tgz","fileCount":35,"integrity":"sha512-vCEIkEvgUNfdR1IoPhbGQwGtQustA1ks9V2/fbnA8B7fUUAE94SyrQFzIyW7/tFIfaiXGT7P4binhul6q3whNg==","signatures":[{"sig":"MEUCIClrLWx29znhb1u8b+wk9vrDvjAhouzrGOHgjoZbL6aHAiEAg5LML0q+z6YTgexQpTq7s0G3aRJ/rP1cM+ioroTj1Uw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo/xaCRA9TVsSAnZWagAAu9YQAJNUhN6RJ0OMRF3Hrqg5\nLTv2D+guTxnEA5SyYuP/dt1sNbK7IDKCVP1zXuAZCBsRTOocMAgHQtpqoFCS\nSw/YQsvH6ptaUAxs9NK6WgTsnF0XDAnYFtHhr7CPz65q+By+gQK09RlAVmgm\nwmib7hEnJ0jOiXD6jIDSjDYuXGJ+aVoEsCU4XmZoGvGy5M795qbB5oQPcM/b\nADz6QSVGchS4EvYLaoQV7fl3CYoE2CKPGtKNEbhqlzlzub1MFwg2erByjAfC\nmD6webevx4q2BT5llF4jCowNaOl4LPvCCNOB48SclrQEP6HPbqxXwyj1ktGa\nsP963NeD4CGRb/H5y7+yJ+RSDUZ2Tv/QxurV4V7oYu02DG/YO/3e9c/6ZmfX\n6w1NKLka0B0lpyyoySXc5PS5+acwDjNAfcs8HDWlYBPuYp41gQoaLQrMO3l2\nQ//2JnR1Ls7hF3YmCBy1YFwhrO08lSZaCi0UO9Ql3GvHcZSW3LjEsRnQrpSx\np50s1xdPZ5g9AwsJ/rS6ZvYS7/AtfXuhlgZrrDR3xpaz5ztwnO0VmD7/egOa\nwDOG4mZX5xSIdtYf7z191fgybV3bMmgU2uhe8McrusMAH7W9NpfFbFtfOfPI\nz2nQbJxeK4fNJxHysuuH8lBo08VlSSiLWNtmuwNEJEgp99mujwrOKysTO0rI\nmy1r\r\n=0OGu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"b6c6b80c35bd8ed7ff1e640200d2ba3357e41a0d","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-b6c6b8-kh4uysvw_1604582490104_0.6147839770240842","host":"s3://npm-registry-packages"}},"2.0.0-feature-071a4b-kh4v3dqt":{"name":"@atlas-engine/iam","version":"2.0.0-feature-071a4b-kh4v3dqt","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-071a4b-kh4v3dqt","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"50febbb0f869d465e4f25f8bbc27b3a5490f9bf6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-071a4b-kh4v3dqt.tgz","fileCount":35,"integrity":"sha512-LaETcIRPsNJztsfLQpC3Aa+0n62YoVedA0AMXKbbDWG5UiVvYkdpUnOz8Itdi0/yWAVWWUwKkwwMI866udkxkA==","signatures":[{"sig":"MEUCIQDFbZDcTsr6oQVDh+tGx9gt5a8/LktC9Yay878HeZVxGQIgTMxdkupyDIh8yGcEbynvEzkgEBnEBuLyW6s57iUTiqI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo/0vCRA9TVsSAnZWagAA7LgP/0tOzbPI/t9V4A7Sa0Db\nZeDLcibgBW58izCPNQZn4/rHHCCzyDTHBLOUWXRvgCq5BTyC44RhAdYMIUIA\nagUOIY+zI9760JqPulTpLtNHzQFnRECtOKe5uOKIX/fhGKehu4HA/OW6BMqr\nYvNjvOjTXcK3kbC1cT74A/wKW+HZh7escIqtaQDmc35mA+5Oxw09xu502oQl\nNQJCm6UmJ1kFB+69H71+/zf46cTe+v7Uiz2r/oZzqSzGJAuhgv6lgAt4Hn93\no/ndGWFhYAzyU1oYImLlPI9fI5EbZ/S1bHoy1ML8BJkUadRpIcNTMK+R+Wk9\nOCCe/sV0d7cyCqUnqzMpV5ZH3gdlwaPqEVACbmRNKVXF8fg/UiYAJKLPloqO\nZFoXirKsy0cyrxZfi2NeMF5n3Wlzg87sKTG8detaYEZPU7R97eUlCClJMGwO\nnX8R96Dqchx1TlG817PCJ3xVMBu0VozulkJgaWRddkreIkL2VLNdMVN6TN6s\nI0kKIXOFy2RMsiZNLAaZ0llrznpsmooWB3UJ4JlYSHMCwBwxlqmxYpS3rUN+\nDV8hgkok3iPnfByTVzyLbZjvIr1Y+aVsScGfqgh3lnmi9YKIEHLUMFbT0f22\nhgz2n+jJxYLoqHBudMF3iEoE193Zt+ZG5MVY7k6eZsadW1OHBrjPhqoGn+gn\nFXaI\r\n=NlGV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"071a4b3b9ef160f96923994ab9d178e5f04394e6","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-071a4b-kh4v3dqt_1604582702634_0.9653602865118374","host":"s3://npm-registry-packages"}},"2.0.0-feature-9ffddf-kh4vctce":{"name":"@atlas-engine/iam","version":"2.0.0-feature-9ffddf-kh4vctce","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-9ffddf-kh4vctce","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"417f481601b68b689bdcde1d02288260c54259c9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-9ffddf-kh4vctce.tgz","fileCount":35,"integrity":"sha512-fsuL2kWCqBP4OdMI2JMwjXpUYMXD9aOCdJ4v8xz+aPZ/XIw4fzp5PoLqX/qY/m8EllL3dKYy4ebUUcreQjKiVA==","signatures":[{"sig":"MEQCIBfprjsCtZWfdiZtumlKc6D/mkQlMmU/9xtNrA+KSGzsAiAvZq1MRTBlZt9mMetjU0u7NOj57EdBPOkgpSboyZkbEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo/7mCRA9TVsSAnZWagAAdm8QAIrtONRYQzDKsLEH/goi\ntUi5Bq4SLg4IXuR114t+zG8LrI0vxW6T2oLRo4gu7n/zEcLix/x56RU9CtgE\nB9mVJ75URazWlupZ4bDr7NAlTtY8ZYcXqWSJExpZ9gT62pqyDP2MO195c6UC\nzYjJTC4IalyGLemDPWiVmMCmsz4z099ET5gKWAdcSMTOB0ECneRH7GI/8yR2\n4mVzDc69AThIJsFizYu80z0hHAFPCXpj2GPnZJdG3Sazm/b//mhE/VRHa5KP\nxhl4kBIZ28ViffWu1Rnl0TRE4a38PwXL957HwEpPW1lPNNdp3ZEA83NLRjr0\ntfUo1LuFjHL5TR/kOu8iKfpRfyVPTl6IsWgD1+AvWCI4BKKRcjEUwk0DBVWQ\ns7DnJ3JcE1VRYpVVuuCyGo8ZEO5bO3cmFpMINTUuoZXN5xnGqjDcJRNKJb92\nG6EWh7MYiPPnDGASrn4j1SmcBBGkq+KuSTYf0pKqSPG82JYWC3VWU213soUW\ngAApkQ2YjonQaTmTD3lMq04Wy32u7TD4oZemka79y9jLEJCLbsUDZ+3k2XYK\nvSx7QxQBdCfiidKy39vMjEUssdQht7ZNkqZOcg2T5drZjPUSh6+W0AIaGlU0\n5i06yq3sSeZUvcIb6NYmHIMFFfDPzMx08PGWAmVNyqN5TlJOuWtZftjHbjQr\nzjLW\r\n=lgDj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"9ffddfdac73925e54cb374efc8fd728c4b38d480","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"feature~delegation_token","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-9ffddf-kh4vctce_1604583141797_0.0587074477200642","host":"s3://npm-registry-packages"}},"2.0.0-feature-bb0dc8-kh501npx":{"name":"@atlas-engine/iam","version":"2.0.0-feature-bb0dc8-kh501npx","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-feature-bb0dc8-kh501npx","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"43256743d9f7daf55f21d5ca123320dbd40ac344","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-feature-bb0dc8-kh501npx.tgz","fileCount":35,"integrity":"sha512-elYufstmvAex+HYqfVR+LPbPw5rC4/hTHC2TTHYA/j/261TvyelAtlbx/x+jA4HYoNLl/zPGRNlg7aWb+cW6PA==","signatures":[{"sig":"MEQCIG+2iaFVKxAzAcXbeAwlJ9d7RDSPn9KiG31ows7dlELsAiBSBbf7wvtEG5CdQFuoc0NwWLOhIJH+w5HXiWGcI3WZLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpB2pCRA9TVsSAnZWagAAy4UQAJcVgh/1/YZZMgzCJpWo\nuD+uMo15mlqtJ9QOgftPPbS0nSG7xARetKhqmWk5ojMTQa0sGUfNrk7PSVTu\nA1K0PFxfF8xTXkkW3WHpP9V5Q0gWW/UOExGKE9S0hBXkNMnr1NX9RB+kmGE5\nMjdL/t7GTrtDf3Da/7jKPkoPAcbztgKMQd7jKLVH/iW5Q82l9GhGpYKWujQY\niNV3yaJcBZ8x7KXOi5qMuVd3ZFdnZQ/FAFs7nMcEWY801vlyeLim87usoYfg\nPUjTP6wYebTTQWAGVU1rVSxHSwwJ89DcimLiMPg0cxScu26LFXSKI+hDH5gk\nMKAViE0rxkrc3AMNiQrxnI4Gx4PwN0ey19j7Kim7q6q+V2ye3qPIv00dKuZe\ni+qlEJ1jWJyJmmLucUKBrsLa94h//kECSOn7gvkE430tzCeAZWe3pJ/Z3ukc\nxyELjKDrJZoElozZw0yoFiPY9qVYeMlfpidUTrzTHvq3iuWEn+yehiTvDDn0\nm78g0/xwxp4bQXEv3vhxegqnjaqEfXSPC9xJPp2EnoDw0EoyMG6KvmIS9xib\nEADMdstMxwKj8XF45Kfhl1lTLLkFe8BU4k9UuJoPGR1YyDZIEe3Lv11vLcXW\nSvVenjT+ffUR5BEnN9C9HQR+O7B+biRWFbxQvEXDc8Zxxkek7MnjFvZmoNlM\nDEwi\r\n=PawZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"bb0dc8e72104ad21a601fb3e1ddeb6b5b84c87d3","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.1.0-alpha.1","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-feature-bb0dc8-kh501npx_1604591017056_0.7633608579489453","host":"s3://npm-registry-packages"}},"2.0.0-alpha.6":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.6","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.6","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"1c169724959fce14654213e0db6482baaf3ae3ec","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.6.tgz","fileCount":35,"integrity":"sha512-OZzSGInaZF71Zn9+eIvcgH5V+HG6Ew1Z0CjM4wCNfRdTwL07HYHcArZqFHPtndB9UBKw35z/akZQHKuUZ502MA==","signatures":[{"sig":"MEQCIH6WOgLVA3y4M/532vw7iZaGq6XZ+meSifEGeKv78qvCAiA3kWSzI/JaV2jVYw7WcWaUYjLbIkZZSAbicGuXwXwVZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpCGbCRA9TVsSAnZWagAA7e8QAIjf3nNQEMu0yH07KMW9\nEFq9tF7V9hXm9FFTwe3mwsnv6zqYA5bZVdsHyFcUpBERqHwUXPPdba/68Y1/\nsk6qsVnpXguj7cbDNaZ2HgZxPWKWZkRrFti29WPOtgRiMV0P18Jil5/kE6DP\nDkH8VABOVxEXBG56ffpU+yc4OzpBWbgndIW4ocdjqpZQ4NJyc/9U7oPUwYrG\nZq2im0gcIlvqv83uUFBwZFJeWTr369SCjWdnEBgvyOOIlSwfMfPBNZ9KykrY\nJxcAxURMEEBs317jWUMQFxJ80PKgEA5yVC2W2pTIexG6YFURuCV32yf+0sBj\n2CGlszRoSGg2M16zQapOncg6oheBoWwWvSAQUyyqtBBo0W+lMZVAY7SnJ27b\nGPv1IuvpxkJgXhNQp6LYZNanlYhUK3UGKNNffSy76Ys2swRj7lWO2Pm4kx8c\nag8OxvrB5p2WOLrizzvKkwD4D/SplYKqq5hAGKwqUJVa16qwMSgls9Vsve09\nlkYI0TOOZZnZkY67qOXFXYAl9ZUlTle5g96Vt4tHKaYZlRxytsiyHa8I6yCO\nzZi3DbhGFwIk6F2LIFxP0eiQ5g1cdQy91w5IsADj/sewvznWXzV9SZvkYrmX\nKVCCNH+/zQ9oDZ17xdcF63M4qYRTPqowGexLqiNJWMuYlKYyGoK19pc8jihU\nb7j4\r\n=jSFQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"0edb00ec2b980e44a8886893f49a3d6e2baa19b1","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.1.0-alpha.1","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.6_1604592026933_0.40730464528451216","host":"s3://npm-registry-packages"}},"2.0.0-alpha.7":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.7","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.7","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8adcd3abe55abbdaa85b32cd9a6204f6191bcf65","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.7.tgz","fileCount":35,"integrity":"sha512-5CLhSDXNhvv6wkRUMqqNdiEhMZ8LNZXSFAsaK4QDfP+1GkC/H9C64RspDFzKgmnRxYbuRwpGvni/V2s4hLwmjw==","signatures":[{"sig":"MEUCIDgGtR6lo+D30LD1asc22yKzLmXYE3Unhv/MI9S4haIZAiEA0vWCde+bHeOWZtmDo77MZ9rfquietHTgErGC1TACfQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpSSwCRA9TVsSAnZWagAAqVcP/jUKYF3oFcqCJoLHyC2a\nwDHplEJ99k+jt2uy7Fnxlg/RYtckjxY7O4uNV2vuN2s/CauP4O4E7oqvJ+Sv\nhHPiN3BQ+tQpMqeHZSTATZUDAasBrnzJrNtQ7rO7pEBhKcBXwqelg/6LepCy\nt5pa4VkqW2ZR8ndM6P/MEicvO+TmwIer6PuOcCYH7CFBrWc097qaxWjtG9gt\nhXYyH7qUqhFunoD+erMX4Lj9c7dbPVJaFW8kMAUc3NsIv4XMj52mEiUIjWlb\nvumWW4lH4CR756GWMdSo+pYOqyH5/NskL01j1+bAvRZ79zEEyhvWDMQpKNpQ\nYPHlW0S5WJDf3D5BUaniVbqWCo720dzJgDZRHuAhbLc53KuAVmErFEF4qcYA\nX2sqTk6AFhzs/tot5MOqtfqFVBKBj9jzIvVA5j8t7wicS2ntagonyUbdVeT8\nfr6E3h7rTlTV4BP5H548z8AN5Iz7dckeiXy5B9bsgamL7AZp1h7VpPodNVrl\naqBVCCOkuLm7L8XnyQkjsYC3B3H//+9rRf6bMvPDspUkKD/K7xZpFU+rK6Uy\np5bipia6zCdFiSffIIYrUsjfMLtAh9j0pyRDmpdHlSdpVyWRd2TmZZL8ovLo\nlXOavv9BfwrTiaPQPOEXTdH/iarh9N8oDRdvsYU5BZxNooB09wlHHIX/PgaL\n42Ds\r\n=8txH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"e88c3bc8c5e2dcb6cc1d041927705711e61be69e","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.1.0-beta.1","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.7_1604658352017_0.6882520380503532","host":"s3://npm-registry-packages"}},"2.0.0-beta.2":{"name":"@atlas-engine/iam","version":"2.0.0-beta.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-beta.2","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"b31b1bc62c5c0c1149eea78ec99997a3bfc25548","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-beta.2.tgz","fileCount":35,"integrity":"sha512-0zX6osnFmLXQ1N/nr8kJyovpLIpcEkdsilaInSzfMNk+a+cd+S7xyt3nd8/hiDEfRzmiDoAjkGGsqORJesY7ag==","signatures":[{"sig":"MEYCIQDdk6dPVebcQwRImgGlqURL671c4BAL+OXqJDGcqovR6QIhAKCHeKbOQpyWsrMDtVgAJKrG3mKJdEIUaAJjDO+gqpOj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpSS2CRA9TVsSAnZWagAA/FoP/AldeIvCgYmHX7hUI/Rs\nai5/JUDo9wKehONohcir2U97uMWF42WO65brejnlfdoG6JEMN3IG8aR7zw00\nqkg0Orwn7RqBdObls+9joaqng/JNDzP5GkqHZktYRqUomIRLkKV7EJ8kPspJ\nHxwQ1nVX6qQ6DMnliIOQcXtLtXD/I2n1ZUr4YFRoDtRhfmWMIsOD5+D0BYPK\nCVYe4bHCCT2FE86kUX12QHLyGJ9SHZHQzx8znTsIisvaBAEnIAN9UO06PlnT\n0MRAqy7AqdwYlI9o4Rp/jhyaVTM//4qTpR7mYU+0Xtav0AkZmv0KdPi0hEGn\n7dlY+ZBjJJHCdcczIrrSC9oHNcDiwQ9n3VI18Ns0ARF2OXJ0VzI97K3g7KAy\nmi1YN5Wy5I6vPk536wHwRPKsE0AR808IQ1n5FE3uW02FAv9bXfqXyz+2l1/h\n/hx63DwjroHu+9qb7InhK/um6XN6WcpXizi2WjsL6e+h073ZgiptR3EJc/cD\nzAhzzesebfme1wWifl+58xeP4Sh4sJCAbnlo3VsrIR9m/M6ta3L7o9Nw7/Tw\nQnFLxQi2QCiOAnmFlit4cs5r+uAcNElBE4BRQl+fP/4s1keNqN+m+x7hleNT\n+a61l9Msg5t44oXGsJhh/HJKUwD6Aba69t5Ao7MfIYrXgcAisGu54ouzgk3j\nR4wT\r\n=YuZt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"39f3b230a994bc270eccdf4b3f3772413f8cdf6d","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.1.0-beta.1","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-beta.2_1604658358096_0.5553423000310769","host":"s3://npm-registry-packages"}},"2.0.0-betafix-5d9eba-khbzbrqf":{"name":"@atlas-engine/iam","version":"2.0.0-betafix-5d9eba-khbzbrqf","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-betafix-5d9eba-khbzbrqf","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"d6b39aec5c89a4d7bca4049f2848c21eea47a289","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-betafix-5d9eba-khbzbrqf.tgz","fileCount":35,"integrity":"sha512-20P8JHwT+EDCwISG0jUvg1hjOxLJgyuXNdIxuXWXgnwL1c0gkiJk6T6qBELGMxc28rn3dL+ggxUpX5tQc/oo3g==","signatures":[{"sig":"MEQCIGZIDKMvGGQnV1BaG46Y7i7XEaV07icZiZbMhtK2zsvcAiAM5uCBJPUB7XG0qltzfexa85cmfti+JUOsocQql6bUUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqo5UCRA9TVsSAnZWagAAlBIQAJaoOwbXhnUW+TEMNvPG\nHrCUqShYwTPsYuWSE6j2VFY05XMGlhl9suvICsbqLqYz4mTMTS7eWZ4EcmyC\novJb8Rn+w/IKMlStsiz/ow5cS+l+xsRwGztjnzIjZ+t/PTDxLGfM51HcoiYY\n8hFY8dqjq1Z5ouDS17bNxRejBhdl1/vEAk8WJ7t1xtImXjOc8nF3RttSRfEW\ncbVvvIEfZx2yMUxkK3t5CUQU/W2v09xMvEhlcRsdxRof1ngk7TDaD7tyn8Tl\nq2lyJ3E2IjHz1lTtVT+uMLcds28awTv8TiVwD3uwKtVoFn6lzFU6o579+u2/\nqiKkwn4qoHdGDmr97V+auF6X38llcVTRK0IwEgUn3Z0T5ZgPLbPAISHGfjVM\nMJNn4od9FePvqVk1UUZOdPd83drKFGjFNpI8vLUUxlrLzZmZjN6/0xldGqgW\nwerzdBhSsk+2JWcxf069qciwj0BN3jBATso9poAyJk/2OPhUBVhR+5ldmtOH\nq6otTMTA4f+Dx7bNFiiA3iyw3sDhL/qsPF5SY64cmE/hBTl3mUnYjFY9/4zj\nv83xEVJkWhvMkE7+75clBVGRa0G6Ff2pG59zdbY4TGIlvgNUMHIEe6Na9m06\ngfz8tgDE6cNFGyqT14zW8Ce5Wuy5HoIKmZqtxXbpOcAadKdQLU2pZPiNRkAk\nz/pQ\r\n=vOP8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"5d9ebad4677101876ffa7fb1b1e9067019cb6726","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"betafix~remove_delegationurl","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-betafix-5d9eba-khbzbrqf_1605013075549_0.7952299060846069","host":"s3://npm-registry-packages"}},"2.0.0-betafix-d61eeb-khc2p0tn":{"name":"@atlas-engine/iam","version":"2.0.0-betafix-d61eeb-khc2p0tn","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-betafix-d61eeb-khc2p0tn","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"fbdb1b2df120bd963586cde437636c18f90b071f","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-betafix-d61eeb-khc2p0tn.tgz","fileCount":35,"integrity":"sha512-IOdgaccItEiDzlM4ZVKBwp3GQ96/zuI+TDn3gkWhL58wAGf2IevtIRGdqL4Vod9iIIWDr8XjJLRpikNbN07jJQ==","signatures":[{"sig":"MEQCIGuYSoCCPE2nqynwhW3aa3EnxlqX7zvRyDYAX9sVsndKAiBqxAIjm3DNcK5gkMbRa0YYVwIOmTtCazaLL1F/mW/Ndw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqqRtCRA9TVsSAnZWagAAzwcP/3iXihwJfra8MSQK6hSc\nYlJMcdMu4MB7WcAoHdoRA4pFJtZLCAvxjXFRqYQKh5atG711ze/VYdUc3DHE\nHW5/CR+v4bh8hGbcOAUm9JsjAJeheYDvaxLdst5JMb7wNkMu/nCtZ8CUwrED\nYcZVY7A0MAqbQaSuv2iT5NVaoDgYchZq0be3RpwZX80u8VXMejoPmn9LEPst\nWhhvTl9ZzjgCsLjzIFkzIdrG8yPXyzRql25JGpDQki2fl69kIoP05hr+4A+F\nIyaKVW6IH2z4xxyKyfbyYI7lEi9/8uhE1rR5wHiah7wvnMzxScYNjIZUD1qe\nf5kRaAlUOrDYnh6PM7mlZT0UIcyFQBi1qeHLEhQaoCKiXa19WNw6vdmbH9p9\nP/kOh//QNaeylycRFHV+Z2IO1pL1ptA3qL/rMqr3VGgCnRmC/MLvDrhKCvAi\nFi7bSx79MUZx+pUopH026Cg3kD4Cmk8DaQhfVB3o9oCofRo4ZRMj/sbu6mrv\nreUJE2zHF/fVMt+0QOhty462YFtDkVnnu28tk7u5j9Lz8ktKIrtOh6nIkr8y\nS/6OilOufw6NWHLdseqhJW/IaOuQyDaB7bwrzdtlqLu96qtJ3B0buRgZXhiM\n+tFBLtShAVl4rLNP/tdZAMFNrvxEXaH/Qmcbf+z1NriOGRIJ9B55QZQl5j/a\nmGS4\r\n=iLHm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"d61eeb2b002887449c177dce191cf5c3f734b6bc","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.1.0-beta.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-betafix-d61eeb-khc2p0tn_1605018733085_0.8660534428113207","host":"s3://npm-registry-packages"}},"2.0.0-beta.3":{"name":"@atlas-engine/iam","version":"2.0.0-beta.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-beta.3","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"b784c0f7a7eb6508ddaabb2efe3db21451c36344","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-beta.3.tgz","fileCount":35,"integrity":"sha512-a5QPMpg0kdwWXMM+l1A+Qk+Oieq57CVq+lM+7qCW7g2+3TD0B2riaqvOdLGsZiWP3SBg0MwABeSIH3nZRyf4lw==","signatures":[{"sig":"MEUCIQCksHljOyqIsNB9reZs+0bk1tPBARYneWTodwUbcX6PewIgO8p56yEJVRsQwRW0syCyrDdtTAK1dh4ows3hgwGgomQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqqUQCRA9TVsSAnZWagAAJWcP+wZpUMobAD7i8jLhdagu\nXaZtUWok1u1GjY1Z2Tm7GrqDdoeo6p2dRn3MLttBlCVkFXdlqD3OSxioxj7O\nQeC5dEwWtCZ6i1SV2X23yaFVLCFObvnhpYM7W1x+GgNrOLULnF0U890QkHjv\nAv9oQO7fAlA9L8t4sBTh3lqmzK2514yH2h1lydWssK55eM4eAsehP7w5aQ1i\nVCQ6wuM4G0Do4KlYGOdV2x+wLugU2JYF4EiK/vDQrvYyDu5uz0Q0yb7SmZiz\neW0WhQfpnSQ3/+RvlTtcCN6Mn0aZ6qV9jfRrhNPZifYqFVtQEnmJDr/NB43u\n++CZ4/MSXBqFkWHmyfa7mZkQYnMTROs9mNtD51bObfv2kzLWrD/qL3NKt14c\nem/hDvqHSr6F7zktnaPTvO8UtHtdYPXwru7W0RSW00Wtf1zyUF+j9YBPGtre\nHO+gkZBTyDMnEgAQKZzk9hxK1b7i1+e570JINxvEqhM11sunsheLxsf1dlm4\ngVe8kCm3GZ0iyIlmnFiFAEfjKDmeIEqexcy99f6ygp91wN1VrOxFXREiSnZF\n0sIawdtK11yUVz9I6nHUGt0N9iCBTOzesSQb3ZbNb3L+SXRuOhP3jLcG8Iji\nolZtlgYT3Ohu1WMFQlX4YMKx3FJzjulzswiVGZLXSIxOUqVzna/kdNM0jDfW\nfe1C\r\n=y4Rl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c07dd873cecd95c3af558c3921554097a3b48805","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.1.0-beta.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-beta.3_1605018895780_0.31492372230371224","host":"s3://npm-registry-packages"}},"2.0.0-alpha.8":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.8","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.8","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8e7790b21717656f92431baade1cce45d2fb055e","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.8.tgz","fileCount":35,"integrity":"sha512-31hcXgY0ZfsPTpgiDnrbZr5JyfB4qpb8oc49Paxe7cLFfrgqhq1konNjJGBlwmUVzZBmK2DxeXzxitDnx3rnlw==","signatures":[{"sig":"MEUCIEDymaNM+EYnMxleCUYWrcYf3VcB8yEiIZohnMXuIE+vAiEA1lWuTcxxrTIC4utgEd093sNE92KN9MawcoPEUsR8VAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqqVyCRA9TVsSAnZWagAAC7QP/2eIybisup11lBtnaEd4\nEGZXEPK2T7VQ9/B92VctHVQOZmKdIXcIc+pZZAgzNV8WyC1l2O+6sxSOcC4s\n1khjiI6JQ+G7cJcFF6YL2PFEV+zzf5N4NjYVig1EGSqwJrKBpPjkWGrXUBj/\n5MNU/0e9WYqaqSTnj25FcvCHq30WuUjbGScOj36IEkSfmeYPs2BvULW2txRR\nzce0iQReqRC1XUFP0VNLV1r8c0z+2wYBp+9Ved92FLeVG9pMU3ZmLzLK+6At\nugmMEvq/0rJSRDn7ObxbWjoOmb6F+APO/HJYWB6AP5KMvndm5H+gzL3Ce8/u\ndZsHrQNY5aBNAPfSsiK/na5iaxUlIXM6G0avUv+JvBUIC5pquO9xV+dU8w9a\n67nZlf4ekKWrvgy47ENsRPiznd9D/AR1xzwfrQouwyGyhfcQGCMH4Y3vwIPi\nPC2Jhqbyhy3SkanoqYfOqcJIhJqco0bYJNmfzlXJ5K5l6dooA2mV6uiToShC\nQbZdm+hMTouP8PvdqPSaYOWa+fQPxtgvA+XRZ4kjZqQuXxF2HHB+2zgW9aMd\nJJ/vDtLs5TPPf7Z/bFhh4l6nzAvRjefFLYdScYxQW+mNUOSPDPfAS3DrlW+/\naoClk9zCpgIQ05t8/o6P/Z/ybf0BthzbTz1g6c65es+dDQhKgM/EzNr3JViL\nifW8\r\n=Ombu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"ab39ca42c8b81cdeb600fa402a862c25d1982fc5","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.0.0","@atlas-engine/iam.contracts":"1.1.0-beta.2","@atlas-engine/error_provider":"^1.0.0","@atlas-engine/configuration_service":"2.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.1.0","@atlas-engine/eslint-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.8_1605018993420_0.01749882134192937","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@atlas-engine/iam","version":"2.0.0","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"fb8afb8b1935e18d317231d41a449424ad0c9106","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0.tgz","fileCount":35,"integrity":"sha512-2ZyH55qiIjLaZ0XU5NDjG6vu02qX+SdSAL4GxmG1kEdAD6wjzKi5IbWrMDWpymLh6SPuwwCPYv8uWpdsa+xWSA==","signatures":[{"sig":"MEQCIGOT+e9bd6EnY6RSC+QpkuO9xku+FDwnO9BVjQl55wgiAiBicNCvRBvnczx6Cm8iCVujs7Et/W3TqGC23hDibcRLyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq7dsCRA9TVsSAnZWagAAKOsP/1EDO2m3woFrlOwal5oY\nhNPsrss+Vrc/H9PGstVl92IddXA48sPk8+dTwopYTVoNtwsTrkwJL+DH1PO3\n8ubgUfs0e6Ttvq8AkdO1kEdfannjCR1/wtRzJe24hE00WIamM1nxnjDRWWdr\n9stsh4QPxJU6PGN5VKwiU+F5lUd3eQn/t7h1/Rg5Zp8iBBysXH3BhRuuww4c\nNs6jY22A77agvqCGDTHyYbc2S8ofaQlEBND1ul++bAIYvQpX/n/8+PQ5IreC\nTzBOSDzMZo4iemlmsIIdeahJhlEMEx6h2QWVZr/HMJjzkcYW7gIHANOZfF+N\nCTKU2Mp8v0aK7BCgzyOhWJkU5Iz7W08+hg9MjercrdRSaMVRGx5xYlumu+V0\nuxjtCWiHVUkL7cuEsRA4ldBgwbDHloK7h8qK4fQI1JiykW0FD5YWFyP0Ko3I\n58LBmb/4Juq6OoN9hcv9o6bPIhyAl0wp0oB9xX8tX01+AFuV9uCitQwQvaiD\nP76c4p0Lg/PRXuGqnrIRGi3SAQBqA+tTMJGpg8G9OaMthChk+ps0ftCwNW+G\nSDyyl9wCvn7QMkd7OvIoW7Uf2xEJBwEyUzd4wbquSAxE+jsVUJjVx0FQiN8+\n+4yMbSJJhKRF9xR48MeduiiE34aGBdU/VsxrqaJz0SIwJqYxjh/Ew2/HdJRS\nixpV\r\n=xUg+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"e0931795f204b04c3d2421ec29e02dd17e058395","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.2","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0_1605089131532_0.7045772949896982","host":"s3://npm-registry-packages"}},"2.0.0-beta.4":{"name":"@atlas-engine/iam","version":"2.0.0-beta.4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-beta.4","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"72e313342f0b979047629a05a3c0cd02c95c6c4c","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-beta.4.tgz","fileCount":35,"integrity":"sha512-WgJ1iSG5VPtW+lMouSZcui1Wnzz32oiFKASp9wirSuDKgenT6KmFbZ0BIs7ypDaIEhq7vpNduXCeD+RbSchIig==","signatures":[{"sig":"MEQCIBRn06gGW8o0XcRfMoK91jHhtmIBsYDkrtfP416LpO0wAiAVcwJML6vNU5yLw249AMJTTAP2vE488Mn3pSPCUqcpPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq7eJCRA9TVsSAnZWagAA8hYP/0XCRIPyg4qdhGs/usPT\nJxePQfwx6ACyd8SPUOLJ5RITS9rrWtEcbPw/4xxJWlIzLO1BxRW/ugkJQ7eo\nXrJk4ayZy36IvComTJEyHH2qmF5xwsQNi4AL/ueq9thFgMswyMduDtUx386D\nBCmiZiklH95IcNFAJHag6NK28NuTBShjpwJ0WLvQ62e6wvkLTJwrkLCNegiW\nc1E1jKDoD8OBThA03XvCORMtciCnHm98iRfj9jfu0X3tk0MgbH9/jzkB2/y3\nbRZygkm2SrGCtc9RPiI3PkFix/LgHigaoxB+C95Pcw53uDSODuqTHBP2Zy5B\n/veuND1jhOW5DwZztrYs90cqaSf0CIQQZH3GOnMw9RWth0Thn+qYeIexTKHk\nxjzUhN6WDGY7MMTJ/MtJ7FsR8pO8pSraiUtP6kmosa+cRkg5B25uowv76Zd0\nLRwLHfZbEclIFCvD8IawQ56lfsG+vZXQPubaMsS/fTwJjE7SFpQAdE+imOrs\nTyBSqOiiagT+3GSmI/I7NIXq//QV+BluqhQgyZ4HqRm6fVbKrDW/mP9cZZPn\nwQnjGw1ei1N2Ywrsux/ZC7D5fg0bTNdrg8feVborYbRUPYw+MgyJ0sWKf/Ke\nUPqDy5vxVm23IaG8Uu8zHkixeS0uUNd222dxUjF+k7jOMZgneQB3g4G97zAd\ne/ro\r\n=gw7R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"18a14a17414544195e865053937cd075f6ff6169","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.2","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-beta.4_1605089160674_0.0038447502272584977","host":"s3://npm-registry-packages"}},"2.0.0-alpha.9":{"name":"@atlas-engine/iam","version":"2.0.0-alpha.9","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-alpha.9","maintainers":[{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"79e81adf378b7370656a67e09eda3e6b47b02663","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-alpha.9.tgz","fileCount":35,"integrity":"sha512-4q95xUGGfRwTntJFDMIz8duXNOkQOja8KXToPwYCTZVjN+muGjhfM5IQ8c72eOT60spdn3Lc/XuP5n2FgbHZ/A==","signatures":[{"sig":"MEQCIG3qEoR0RHtADi7/O2cNxRYr72urplGiZue3gQtN30sqAiAp22N8wINUgktssOFjKvSWzBohTOa2q4jcGSZos0WBxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq7eYCRA9TVsSAnZWagAALj0QAJ6io0tQL1Tzd7D5RU1m\n00yOvkR/LTnNK3B+xMCoMC85DH3cOXnCuDr4c9sRlKCL6DehGohXKXUpnKJU\nPAj6wuKqIBi17jSpCJKSwOgjuSQtPx/hXL6GMWsX54vrXWyJQYBx12Tkuplo\n63f2yPkOF4qECaxdyEvnSY2AHNNHYbRgRnyvcaCxnhjjJpXLYPgYjuwzzccI\n6m9kKdx7HGAIfTxbVqdhc7td8TE9TZJuvFGWhV0L3tYR7426hwGxosV/vdr3\np/7mbL1slcli7GHZ6AqJrZhQowoJI7Cb+lxfOKDfJKHDeEvofWN28XC7wqV+\nGp/FQ6t3H+xWD/HVI17pgj8d0AZ4Rm9oukjR2k3H7Jjfmp6ueMKaWxRHawnp\nojXq2OoFJE/DpHLh6DqfLiL39jjl1yeZLmSeH/gWstu4JYSX2zzaeBWxSzte\nsMH3nS2WAO5KEchUxk3KgtQ1y/X4vUNzHXqIAdUQon6Ld73zfmRSXyGTYN1k\np+L9u8O7mP4vw6k2EwlChJViDrVtlC7Dh5sA8fAKRfA0h1iQPYVIDSoIeHt6\ns07Y/J2DUrEKQSu304WRiFajMypIb8s/RXanCrTK7wSTl/t0ElrC+snN6Swo\nb2r7y8j4t08LmDdM78/6aSWGeK8jmuM4IfEyTBruB/rnRztOlxBQ/nApZoJe\nWuyr\r\n=AQKa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"33f954410c280b62b92c1a2ccc4eba8adf18d8a8","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.8","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.2","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-alpha.9_1605089175880_0.5479654916808829","host":"s3://npm-registry-packages"}},"2.0.0-hotfix-59d902-kjv85zgu":{"name":"@atlas-engine/iam","version":"2.0.0-hotfix-59d902-kjv85zgu","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-hotfix-59d902-kjv85zgu","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"5d959e13b42892ef611a8e26c587046c77d5b7c7","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-hotfix-59d902-kjv85zgu.tgz","fileCount":35,"integrity":"sha512-9DOGnk1z+gmTmKoaIYGsUDypLrxt48gPy0MNlU57sx9R2STqImOgXfzON099X/SZIzImdwvSI10NW4oM2B//Ng==","signatures":[{"sig":"MEQCIFiTe75hHvLjQh04YvFK/OYmgaHpep6/5C+PvRhqIUImAiAJmnrihNv3poTW0qwH5t/NkCqOaqQPBMReAcSRpPAapw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/r4pCRA9TVsSAnZWagAAW7oP+QDKQL/qBt2c1FZH4Ff0\nR0w3QW8Msjlevqocg9dSUTgFjpdEUzN21rmEWT3FCrZ4KdH6UAqZ6X85V542\nwcR0wGSqqYApCHgIsRancX14suEbyAWSXDI0mj5zUQuuJQp0np9zXcI20783\nc2tLhRaBdXwklDqv9wXKbw9ElJuuBlh6H26v30vzXdna/xIf4k2S1hic7BoS\nOWAiXuEhf0TuZckKoHh45khg6cSXJQHBEDuuNPVA4IRffjs9a1keeI2y4BEQ\nmY1DN8N95fZSABgF1+Mo0oWRtbVbiYvfoQQ8G9XWlAA0vkDWVeCvMW0B7lKe\nXVXD2ZS9UbsSlA1LPJz/DzP4gDp8shm6p+LxmD5GvwlS8MN4NQpMskGQEZaz\n1fgBsVMEi9cq8Ol3VuVghD+kYGTcd9GAZdRFfEWCUwg3c16PQsrEM3uNOsKm\n6jYJm+XmTwhdu7tKlKof61VMwZOF/ntQn1oFFmYko/BnO7faslB2loO+hwfG\nd/XTiGnreXqvm4/AwDf+vZ9VUVJoKhVF1D2tWvPH3UKN3M1qW4aBtfdgesyb\nP0YF2BJ4d8kCp1Uh/093srCk2ji2XsF5Ol1+1d6ltmjCZOyI+ElBmX7SPVMj\nR8SfUXMTpQHzojOYX+QHpMvsdeCY9ivJEwXRvBKd2VL/BHL9AJp9xGv/8l37\ntJtk\r\n=HHc6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"59d9025fbdec73f54ba7e88dc8aea17e2a66e153","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"hotfix~reject_unauthorized_cert_switch","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-hotfix-59d902-kjv85zgu_1610530345338_0.8744654812069763","host":"s3://npm-registry-packages"}},"2.0.0-hotfix-c07e01-kjvd6nb8":{"name":"@atlas-engine/iam","version":"2.0.0-hotfix-c07e01-kjvd6nb8","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-hotfix-c07e01-kjvd6nb8","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"bd9a3068b82a744557741d973e710f31f725bb59","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-hotfix-c07e01-kjvd6nb8.tgz","fileCount":35,"integrity":"sha512-atcH5335fHRimSebFWS7FsmbsMw4IMTyUm9uHHJfANyEWcIxcnlJThfNDllzRpwv4QLvCvP1g+9sDNpgYYLQuQ==","signatures":[{"sig":"MEUCIQC/Nu4JGO+Oww+3sR/9A62g+v2S4tXD24CcSdcubYnkBQIgYvsm6eS2yW13vlETEwTQmlUEpUBLoZYhaxob+EHLTFo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/t8RCRA9TVsSAnZWagAAR3kP/jtYseEMknL57/zQ85KD\nAClSw4IZsKbYPHL9C7VKhy7pZyHKtBIH+k0vBI5TTww92RbAMppL3UwvpZ76\n18/aEaO64iNXvBQptJ39qhgUKsy9M0SZ/6aCrmxCQLklKb55LuWyXVC9lFo3\n9DHjIoeQQ0Xy3idVg3jh3NJDeuSlbt+WOoGEp+0JiFoBK6FRBjUV9I9YEkAY\nh6soAImQeEKEo5+gHWhnO5TVb5oQutiEO2BCO1xve+zJ8B5IgDyYf94BnMli\n5rS2GW1ptrBWaRLhi3i2DrIuQlpnJZuxVT8/4vOKSKfS2RnASOzT1zxyMtRU\n/WzzHKjk2qz28QDcjO+HPsoPAkbbd6dDzJ8byWr1C8i3ejdT5zp3BxOKV9OH\nJ60t5Q64mOtYoQ8MZjVrcp65tbyqNFWxSJxCdQlaNHWA1Rq8MiSJniQ1l1WP\n8BaQg9/oMD5jkfrTphuFwUTMWNUl9YWmmIAcuCF0W/WuLbW+Dd8bYc1qxuoo\njdo/tDXKqyu7QwT28ybRMCynuYUlS9z84lQVHIG52Ai3le7LrrS2sEo8PCxR\nBfeT3NlKS92cCAhm8ceVncE62/Z6uWf7yX/hSx08YM+nk+IaWuhuJhu7WHYC\nSiqdfUhdmpGySR1ie/m1KUIk7/9BmlTIaLJ4GWJvE0ORvL8ipqxsLsV/PGc6\nBzZQ\r\n=jhbE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c07e01ffaf35f6b1715c2b714d303e7af9395b26","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"hotfix~reject_unauthorized_cert_switch","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-hotfix-c07e01-kjvd6nb8_1610538769037_0.33468393010970776","host":"s3://npm-registry-packages"}},"2.0.0-hotfix-37afe5-kjvdizkf":{"name":"@atlas-engine/iam","version":"2.0.0-hotfix-37afe5-kjvdizkf","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-hotfix-37afe5-kjvdizkf","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"19adec8d2e66d301993242f01c928e9a0182ee19","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-hotfix-37afe5-kjvdizkf.tgz","fileCount":35,"integrity":"sha512-ldvw8TSF1lXCH8IDwMnoxGorF2nFy8wxUOzm9qC+eCWqYpxjdieRdevV4unh8T9IFie2O3X814uNOx3JZ0+YHg==","signatures":[{"sig":"MEYCIQCUTYflB80nxVB9KyVvt+Iop85yQcH9kitFTaNcY2w5MgIhALXE1BmSmfuhyv0besG5s4v6aVENWHA55RkrpRfCU6wp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/uFSCRA9TVsSAnZWagAAcaYP/jWfZBqC1xAJF7UxdUbz\nb0TpfYvE54VZba4vJ9NIubZzUG01wiRfC+OPOxsPrRpVqi6ERWKOHBL/BMqy\nNm23Aoi76qISOM9tA+lDmWB787+JtBknLCXogj0k9zniQ+Czd0SdTMbfU1tb\nmmc8kbyA61+Sb5j62FEfjvfueMApl6S52FWPqAcULLW04vxO9AeGQBgeANwB\n6kQxBv3wAbO2wm62/f9vEHXBcnsBDp2ehmyDu7hwHw9ftc3MF8bPk2ZI9R60\n/3Xg6A/4YOe4NWf4uDwP032eXIn7IxsNpSxfaNlK1UhHsVKZJlyCFPlKngM3\nO+8Jj0BEhrWakPW71w2qfJ+7Ghlvv9i307uCQjqoAhNm9hXUzh1nUVUCDI3B\n1MwD9XsFV160SP05RnvnbaqzRyzdzLwB8BL/Sp2V8c2FO490vR5kvIpq4Pg9\ngT3wOw4uVuD3Q6TH3DXUNYy7+lWSZMHH+t15dh7C+fi0JENMLJVSElkwlHm3\n4+FWJAFwteFacnKF0Yxc7628/hYT8BA8478AB3zYoepwhcMeRb9Wu6tox6r5\nsyLSmeQT6r5k4xpx5r5zYhkvctPTK9979c+F6bzAKG8vpOI0+B2FLeNQbklg\nFXa4BIdfBJ7fJpNYqVFPLYXJPOtt6geupe4UG54kFkDSZ1tpaRh25gcWt7bV\nnCST\r\n=ofd3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"37afe56684d21c9df1344f051d6dd89ec94c3d38","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"hotfix~reject_unauthorized_cert_switch","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-hotfix-37afe5-kjvdizkf_1610539345759_0.7191971662273107","host":"s3://npm-registry-packages"}},"2.0.0-hotfix-994e62-kjvj1sv2":{"name":"@atlas-engine/iam","version":"2.0.0-hotfix-994e62-kjvj1sv2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-hotfix-994e62-kjvj1sv2","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"86a3315155699f9d0ce2bf120b312f3f458835e6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-hotfix-994e62-kjvj1sv2.tgz","fileCount":35,"integrity":"sha512-jEKe4l8VO/kg/L9qiMxIDUdO0ZLU79Ph1AQwYoY2luA4BswQXYLx4Z9JLPwGxQomRFFr7IMiPlPRjGAGcpKL4A==","signatures":[{"sig":"MEYCIQC+vSDOkyxPKWP+rH03+8kjI3N7pmNYIFXvQQjKigSoVAIhANOCuqP27nQPw0Jr5imEgqPQeLEL4Pjtq6GNNz59HwYD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/wWOCRA9TVsSAnZWagAAUhgP/jF4CxSKniCRi6sQmsGM\n4c4nchbPermPbAQj23bequelPum5/izXRClEigDTT7h+SPDhWFXI6veMgaHX\nJjPjNsl7t7Jlk8BPfqwWRrujrITkWrBNWTjkHUJnL9+ykPUEJ/cJBTtMMBrF\nOfdA2wO2SVsRCKrA7zk3KVpDY/BVZhB9SfD7E5o45ZzgedD21u4+0AOU9QxV\nrL0v9JY7r99FHZl1PGe5jLnahP3ifiYWbLTf4wzypzgfdvkqQU//tWAux/Kk\nMGlv232DLD/njLGZGMuMO38+pfhfu0m0NNLcWfZH5kOMJ/VjP2zzldEJWtxb\nvrNSfsaRLKlf2lsoW/luHdhc0t2ifwramJM4IcWh4XimBC8OMhZ+YcyzwaCA\ni7Qs2OmoNI/V9IQODK0JlRz7yOUzxNXaEBw4IKjv7Kp3oV1wl1hK+P5M0U9F\n0MdqN3/vPORopSqCVGDZvGHuzgOLdCkp5h/ZvxqtU25l/f7D/Yi2rWBTeiSf\nhEvRBM7ZBy7wUn79AFKjTs8xiijqe5rraL2jYHzMjPEjeIA96dYVCU+uq7qB\nMsdzSTDzqiDHi7CvuTKdxkv8Js1DR537MYWq8nBjHUJhjoJGgTL1NZ6Z1821\n77a12wj+KV4ukcA09Fw0ky6/Cn8Fc80YqTtCELbRdaNo9S/lHTZMnqwVayRq\nLyEM\r\n=Ynsj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"994e620f6f6fbc67f8157adba8a68f0a00a1db8d","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"hotfix~reject_unauthorized_cert_switch","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-hotfix-994e62-kjvj1sv2_1610548621818_0.18580660990248576","host":"s3://npm-registry-packages"}},"2.0.0-hotfix-a29edf-kjvlc2ry":{"name":"@atlas-engine/iam","version":"2.0.0-hotfix-a29edf-kjvlc2ry","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.0-hotfix-a29edf-kjvlc2ry","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"2d8d011186ec867084e18348303506f2940245ac","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.0-hotfix-a29edf-kjvlc2ry.tgz","fileCount":35,"integrity":"sha512-SAITWJ/IqQ3uThuFXRZu9gR+MU1gWIjdrn9ug/25TsmPA/t7izaOJkEFx6K9cZEkFJHtLtWiUqIyqVa03HHghA==","signatures":[{"sig":"MEQCIBeCDrjmjx+dlLCiP7tknmvM5ApmBBNXatpHDyu4Fd9ZAiBgeKaJvjxTeIk9z6OlJyMt8N/CAIy3ZDe14LWHdsUqTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/xSRCRA9TVsSAnZWagAAJQwP/A+Gp4nYL1ofG0EqFWGh\nvA+bxA0G94v2y2jds0w36yUm2wrubJtn6MfKjOGfVztMnmF50fJvX555sney\n93AvdZkK2ZcPdu7EJrZN49CQ5083FCchMVs0FljCQml30PifEdgc257NFLnA\ntv4pyfT6gJagwcaqKFE5XeI9xZx38gtqkYJORm9DxDrlYOROFe5x6jQyzjjh\nSyd4XQMcT7fSq2Ystx/OGoXoVmWt6c6HaY2nRPjJrQWFQ0TgF0rwCy2m4P/j\nJp47Ql2dxYrK2lfj1YOAuGy+BHN73rWAsgBioEO6Bvan9V3v37mzkHz2q4ZT\ncJH+okeL0kqrWporp3yaWZnBiMW+H5wHj/3Ig//VchQh1dDVtsjw0C+bS4zR\nDStJXHgwSNZw/Lh+rrAa6NI2w+hqf27TwuALwFZgPPvrtbhCQRw2GnNiYVQt\n7tAk/P9n1e68KyEyevgFe130K1MDhRHjjPkA0SM4wuLSubIy2F/pLXjaGYpT\n3HXYrUpNtAs75w79ZeI8jc+OCkguvK6/4nQ1UnnJcnm8RRiuKVItvVxlw840\nvzRVC8uisixWTffbh+ODaZ1NsrEYA7G62WIQxHsFn4UwfIgi0V6ANtaSqWFM\nPO0hW/qUpuTIv8FvoybhbPH4VG8CXGQrUyyvoX4P7pDo+7Bzw4ujDwfVfwLR\n7Fgt\r\n=SeOZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"a29edf12ad75ae08da3a2e0a6908f4b24d80904e","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"hotfix~reject_unauthorized_cert_switch","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.0-hotfix-a29edf-kjvlc2ry_1610552464595_0.5641059058955522","host":"s3://npm-registry-packages"}},"2.0.1-hotfix-7b0e1f-kjvqeaxq":{"name":"@atlas-engine/iam","version":"2.0.1-hotfix-7b0e1f-kjvqeaxq","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-hotfix-7b0e1f-kjvqeaxq","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8bd4c728be76d229d745cdbff7985c1ed1d3c82d","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-hotfix-7b0e1f-kjvqeaxq.tgz","fileCount":35,"integrity":"sha512-BCchaSgawGmc8XkoMqH4At1TbBsctQ7jo+sfzZw9uSTAxEUnpzu5ePnjK8rw07DKuPR+DZQr+L/J8+gpJgRt4A==","signatures":[{"sig":"MEYCIQCfEm9y+Wnl/80EsMQPSgvcdZx8oppynt4VERB4XgKbBQIhAPuhOyMD36DP9J/1n5vaeGjucGFf7ohiNnOATbmWfHuj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/zXCCRA9TVsSAnZWagAAnsMP/10xZpdRECd5XdNZfnCj\noWf/mAkg2YlB+H2RdrtPbHQFo6BF+uOVkYOC5vHorgbd+b5Euk92bNNJsG+Q\nSNgTaWVtHj5DVfHXvtw5Mkcw1eDBTgxLF+syfh3Y+L0diVx1LG38MOS4c1pf\n+SUuLUQaR+I5S7ozt/p8e9QA4OlOf5pxijvp8CRFICmFzCQ8rncUtXI6oNEh\nzx9KiwUDp7MGuJcrB99w5WIqlQiqGeZ7GYY75++FP/tMHnq4ipXvhNkoP3sb\nFZkqZscNnbE99R0wnYujcGgAsrGUCTj0JcAQpyA7XzEqIl9bqGCdol3mhNOQ\nIKomDVBlot9JTd4T2anVkjoxcFiVEWZ9bBtjhuBVP0ZuFL/eeqi5q2vHsB3A\n8W2rr9rnROfSCMqewDiR/HPXdHv0EBllT+vEpYA4MdbsYL7DRE707bgDPgSu\n0tyWi8o9GKmZeVurA1uN1hBhXwMU76M/JrVRwnFstpt4pR8FYE9ExAQLzR+O\nZPM7xfhGxHjXJkcUB3q4MdoMPuZwJYpgpLmgxwe16T8K/VDhpeTznTC1zEU1\nQInu/xVBW8fJ9JMzZGwbZZNFW03Fm8XqKszMU0V4PkYXtOtNX+WSLRtdYlpv\n9g0ukNvIVUuuXUHXZR8PZyueAHE/K+Lt6bahM8UmEpEwr7wO5yUZxu5Myidu\njeDi\r\n=lavo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"7b0e1faf71afbd54218bdfbb59d98fb5df6e2309","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-hotfix-7b0e1f-kjvqeaxq_1610560961799_0.2675436693745903","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@atlas-engine/iam","version":"2.0.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"43c46afda5c109a9f0abeedcf43ba8411e8841f0","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1.tgz","fileCount":35,"integrity":"sha512-zIhGdO6IWgvK1pi9t0SFk8z3ouqX1gw7zfKDMJYk80regCYJfVZUjlBDZx0zqdbDhfILJ1zMJFMd0xD8FSN4yg==","signatures":[{"sig":"MEYCIQCmP9jTX7/Xgvtozxdi/D2+R/p1oof3sf4En9FxRhInVQIhAL4PZVneUzSR0aO+weVwfWC5qcXq1k8X5gv95aDOTDky","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/zakCRA9TVsSAnZWagAAClEQAJNhF8WrnbvpMvHUvyJU\nyBoqsGSVqyDFUby9VJ1SfCrE187cmJf5Dv8R/J0b6Ym+g47WC7pxCGXJjbyF\nVFV/kKV+iE+ZOoOI3L/Ntp3cPIFs4fhRMd9Rpl+DkYZqE2y/KF/vPTS9bFWt\nlBnmtfk6UtzHnQ4FVRr2f4DomerG9lOtGwS7rypzeGtWYPiw2XwzNQz9+uzA\nIxKoHbiXWv6eO6V5GBZIcRsKXTT+k9EMghwfJzbQ9S5dNba8dq5Q/JmeNJlV\nSqRvQFjGhp/PGPZuo1ncdI/zAGSggPKlY5Muw0ViAPlrLra5BFQb6wfuG2pQ\nsROloSpZ0hL7reiKQcv+NknaNfa9PszfPEdUEUCL6oX3wSxDmTF30iKD/9z9\naLjEzTIUUF4Ahz5DRVhdv2LDlegUSt6+uwb9nbqvU7ojx2ghAn9Hx8Lg5SAT\ngGhcGBjjtaqp2yp+VJtx3XNqCkPO7TfWFQzcDrsv8Q3OUFAb71lECfbWMrci\nLHS4HU/8CTOr6X7L5Xmyfk+zxq9GWNJysvJjI6SuL1YjYR7weyf2+gCoRx1F\nskDujoCLR9TJ32+h6mtDVnRneXL7fLDek+OAvXpGbv0C8qb8lPW99A+TtETB\nZy012tm3r6mtMbQFX3TkXzcDqmp9MUNFwVYNsP8VQCR3T4hD4nAu+ufoR4X+\n4TIk\r\n=IJkD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"d29fbc7da1558032634a72d3d906686b6e760aaa","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1_1610561188154_0.4881130102420146","host":"s3://npm-registry-packages"}},"2.0.1-alpha.1":{"name":"@atlas-engine/iam","version":"2.0.1-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-alpha.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"5d5d8f8bf2e731ed1f387839e450c33df18ff906","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-alpha.1.tgz","fileCount":35,"integrity":"sha512-Cws258vBiGSnjeY+9W+xxXuH2SoFkMpWrjm+Wq1c42m0w/LRHkPjbctXCY1jLtALIHkxFa3mOrmuZMhb8RxgnA==","signatures":[{"sig":"MEMCIBKSkOpZVOCvWrBg2wqhREAsU2/ROZ2wwLc3jKHlEikeAh87vtaPI9luS6INW6+sKMlA7tEJyxzSEvb0SSsIu8Qb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/zbECRA9TVsSAnZWagAAD9UP/3GMVq8EuWM8148gsHA8\n5/H5q/QwSiQlLRGzt8xq8W9H7DVmbLwqG9nEGdj6eTvBzRTP/H59tifQqx0Q\nU2u6M0udN8T/gBW4eS9rTGTEN6XWAZnTdm+govkxpbOzQpUnXT8D67hiGlCF\n18t1w4Icnj+lnEatgpg0d08sZ+3dDfxlk2pdf7Pu+rAHqZ+c0+gWJZO0vkfj\nFpSECs1iKgVvP9JhyybRteNr9VmHCbM1zNY/GSOziudDyGzm7Zn5bANEF2/a\nwgXKJpTnF55fJhEsbd1+jfut7M8XcVjbcnyY5n+IPrJ0Z/y8t2Cu8f94qxuv\n7pnsag/VYswLqIG2A0ln14adrSqjdQL83nMZVVWkAOK9qzQZiVvXG2vRX6dQ\njfljA/kRcbtLqe8qCX05/glgX8B4jCPrtYzonafB+vgodeDjetmk7x0XwpBw\n3q1gaJQiloa88hHUxPel3Up+gPorxNzrpiR/XoVh/EJw0P6UoTDbJgVeSCht\ndtqzD0hhTRDQn5vfz7RDTUflzVc/xmXVvfN5YCgBqdLJCUWnOJovgQExfZ6Q\nkLquGFc+VzkgCK1izVqdRqhSxx4rfD1XDX4rUBC5rxgBblKKAL41GcDLpB0G\n6EOxiTK3Jn/kqxrbGYuFA3aSaQol3j9/rE6aiSkdRrLjbghq+VqkyAFQcA5L\nVR4J\r\n=cAzH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"8818e8aa314237e589ee366cbec2ce03f48733f0","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-alpha.1_1610561219983_0.9091233470672437","host":"s3://npm-registry-packages"}},"2.0.1-hotfix-235a26-kk3u3atm":{"name":"@atlas-engine/iam","version":"2.0.1-hotfix-235a26-kk3u3atm","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-hotfix-235a26-kk3u3atm","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"d2fad674b8929e267b7c1daaf631e22f6a2d9c86","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-hotfix-235a26-kk3u3atm.tgz","fileCount":35,"integrity":"sha512-y8GfYWyYnq5CnM5qYWsRZjaBYcLa2NTZoaLJocOCqlsEbMuSnoZIQ7rC0mk7aW3X/brPaUJ2Vpyi7YOsdPFQ1w==","signatures":[{"sig":"MEQCICY9/hP/dXfZQgF3EpiFFbvwxbgHjXqGHK5fCcXCr1eOAiAF1ASJqR+DDvCv4Ru9+GBFq6L8XwvvHYp+eVXYqCZ9LA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBq+UCRA9TVsSAnZWagAA5/UQAKHSrXY/qo3Tk3wIazQk\n5KtcDamR7Ziar/Ps5Cqz+0qgeTjkJC1YFuDogjggR1xMP9MynN4mPMJzXd8n\n3kBhlttk5hcqpnq4LswkOhU7HFAKn+khhGhYefEqa3ymabw8DxihHogeqe+5\nUPO/+4vgwSRFEjxdpOkKiHlDdod4tcmukJOKDUGUPP0pHM53/+6soSKiQW+4\nSmdasbSQBm0NKe91RShmEkNjYnW1Fsrq/WnJqw1diGMIgoyVcIlSQcMeIvMp\nLWXfETo1axH6a4vvLaB3siuTU9J4aRahgzFVZCDk0ygUEI0DeBT3oYYOfOgy\nOV6BLmgHX9PATxs0wd8GevHhc7/Le65kHYdiSa7cBVmuAcQrUE+3QB+wTRqN\nCNJFO6cYqVRPtOipLIW28f7sXA+W3mbZ3hs2a5sMZpgOAbu/45bplztuzOI5\nC5aclATWHssRCnJQBxFXy3He8HWkyCpoiT+ZTDjolPSpkgN2Cb/u9io8xP5+\nEJzMLK6qMgFLCZocVxMUR8FS1gCgXp/glpJ/aurMpfQISUJs4S8ynfTKm17z\n2UQ8D8JMJv+Q2NDg6HAODgYto2v9ZirA4PrlnlW3M9OYqTyzHP0QTRe9JR+n\nkI9K6n0K4N0pvqJjZ6fSoNyyJ8EL0ffqMb9Ir3iHevfSSNyOyr7vzmN9G2lA\nBSJ8\r\n=k3lK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"235a26a848cf93b2f80206b154033a4978602787","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-hotfix-235a26-kk3u3atm_1611050899199_0.18405547367835617","host":"s3://npm-registry-packages"}},"2.0.1-hotfixes-d29fbc-kk3u3rnj":{"name":"@atlas-engine/iam","version":"2.0.1-hotfixes-d29fbc-kk3u3rnj","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-hotfixes-d29fbc-kk3u3rnj","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"750f7736c817e9551710b273d653a4748b2668b6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-hotfixes-d29fbc-kk3u3rnj.tgz","fileCount":35,"integrity":"sha512-9R8avylOcjojAnR8pBomY7GTyyvqd+g+ocPPzxxmowWkknQqQEOKDuUJdh2kpG9DAlyo+1DamPjGd3YNWQ/63g==","signatures":[{"sig":"MEUCIHIrf69K+xr3Imo5eYLSjaTNtIe6f+R7DAIfbJi0WC6nAiEAqm7jWuumk1nasbHVZNVonaoKyTXuaRmy+8ZN85K5TmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBq+pCRA9TVsSAnZWagAA4/oP/1yvq8VvdV9CZC3eMb2j\nhIwu55png5FJatj85HAkkvsEGjyRxODf6BE+G2eX/B2xSA/QaY4hS9hg6ZGG\nw7cCd0j45QHau1yroVSaVb80CdMZ3jUzqGIBrSigV+B8JIi4WEwZn7y49Y/6\nWbdi4pa0TEYdfeCgkhk9LkjzhfGOh7p50/cNoEypFBG1t4ucTNCmqz4SCASa\n0bpdADG3pWcFN2dE4E070tKA+ewcdUZEPMxYXzwA70eGIQdYuon3SkQlodQ9\nE851Mr6jWtbKeOC0P8FmEgw9R1s3+llu7dglNAI5Us3btAP/dRTM1OqVLa7N\nVyvWWNjAm8GGWKijEZTkkw+5xkyWTt6V7A6UiaDwGmDCS8eEA8qBn+ziBO4d\nuJwb552BkASbDxYB0ISc2+xMpm5Invs9dQsdNkWCVaXHlzINchDYGMOsPG1V\nn+YPq8tpIWZS6iv19K7kTIP/9mJnwKBPmA6AO5NbdXkpM94VYI3H7/ob9Qfd\nJ89AS0kozL5GZtCznWBaZJKqQbMabQif5c9mKTApyFLSxDfWw6fWPs9p4u/5\nQRE4HEYw6EGmN6aylI5HwBFHXIDKfKOxq56gCEZrOlsY6r34Te0c+JAwY56K\n4vOH/ptIly7XiBSnTYV1mdPYpCrrPiPm9cLvgHFE5w0AjY6+PWJDr5iSdbdw\nNPjG\r\n=no8E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"d29fbc7da1558032634a72d3d906686b6e760aaa","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-hotfixes-d29fbc-kk3u3rnj_1611050920720_0.30853342431075825","host":"s3://npm-registry-packages"}},"2.0.1-hotfixes-4e3fed-kkza4zhc":{"name":"@atlas-engine/iam","version":"2.0.1-hotfixes-4e3fed-kkza4zhc","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-hotfixes-4e3fed-kkza4zhc","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ef9ad3177f82481364385b1a9f8e3a8f7c43803f","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-hotfixes-4e3fed-kkza4zhc.tgz","fileCount":35,"integrity":"sha512-EgQ5vwDY/qFGCX70z/Zb1KfYgclm/azGFYKVxQTrUfoPM41A0DIC65ZLqbJ0ZzX3xDDAOm3bNDuFFWThMyHd0Q==","signatures":[{"sig":"MEUCIQCMYiIDTOmaXHioy1CtNv7FY0vrCS4KBKwWNrniOuZpyQIgDiL3BVICC5QWXwW9hlZia/9WW6ma4ed+vaA+SvML4L0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI7LtCRA9TVsSAnZWagAApjIQAJ5W9Ifdy/VATF+JI7cD\njVID2ZobTXTGQ1C6Mf2Swc1toRGqS/iIBlFALn6DCyw22NPve9vJwryREvCp\nJqpQ0c3g7jP5OuzScOoxDVFDWalG0ohc97nUNrBBtwG6i/T4QAnTur3Bc47C\nUPcxPnjz2n5Ai7E4WwvMxV5f3bSBdoi5CtLd4xNpwOKNHkLulPuXndRA6+WZ\nbcw+UywbnkOKWrbUS6y/QWUXeds0EGMmbvVVMGaAXsOk0/OMxzsdcqjhKdnY\n5VeGSN5Alxigtf8s9tBHl4UNBRi8v6GCc1rTmX5SJQ79zIwk7nC0uSsI6PXy\nZgcEUJBpxlQb23VJwQAuUaxbham4TnUBxAUFq1DVrhxQ4zdcHRz/wAqDWn+H\n35iPJrur5P/lOhLio35/cVvfGZ74jtsZ5OH4A6EMemOnhdU4yl2vKuUt3F7s\n9AuDtTveOKQW5NgzwtoPOLTblRBx+iwfizn8KXxOTXDP4Dtg9vLvrb2bZR8Z\ne0rz5+bQlFozVLns+DESRnIjJoxmQKwF0DBWzQTgxgDRhQ7y5ruMWT+y6HJH\nW7QwBICcC7Zn3S4QNgM2McmIWqEpyyVy+4UWg68n8X+8fZhzimBXrKlOevx1\nZsmxlHJXYuORh40dB5Y4XFw/R2r0OgL0Ba5iM/yb8ONU6/38H91Lcbhfcv1u\nAthm\r\n=6FTT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4e3fed93759cbe17dbba8fb69b15126830e036ca","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-hotfixes-4e3fed-kkza4zhc_1612952300513_0.4051479643979585","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@atlas-engine/iam","version":"2.0.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.2","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"cdc0326b7a2f28259c1d6412c3acd8d536b286ef","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.2.tgz","fileCount":35,"integrity":"sha512-NNFR38qiaaEZyrgweUqvA1QvsdX2uul2AOB0USbMWhnh+b7PM4lqbOYWv6uZiELPmzVftM/SihVSTQ+4xZhBRA==","signatures":[{"sig":"MEQCIE8LU3vMHkUhMYFUZe+bR8AIfcyqOYOjumkvOCQA2w/cAiAb+gjk/IvtO6b6vbkMDEvbhHrQWXYbPt8cHgN2SgleIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI/oOCRA9TVsSAnZWagAAGc0P/RHpG4LUn+eNJSM9GcHD\nu01+9JTkF+6vOMKoKxP4BvdrtzaJApelJK+7wdB8Q+yU3+eXoq/U84+oVCIw\ngf3xdEOb5J4mRaU1v6EjLD4lUqGOkbPG6KalJpRIwMZfPqWZueCZkIeKTsMw\nkqu0Skm2ZzJkZtKU0c1icX3jx1tHqsK6egIeucc7xWr0/SDpIs6FAexXQ8sN\nryWEQVnSVvOHviLRIXT/1ni3OObHy/t76U/rByk2PdxixkrrBLquwkak1Ckv\nC90ERWzLJ7xq3+na/71VV0nJzNS6j2lRhTDrPgXdaKL5I8tnZYNmy6Is/mgw\nMmU1VtRU+K/m6MvWDmH8WLz2fJWnWITlzPGFMgCZx9fwVlMxyroBDnMgJQuL\nfpTqzo5HCTiYA7t+nO4g4Cbo8OruZ0bMEfwrykmiznhhPPbQbKBmadjE6gEH\nrjjWA+VFlr5grhCsr7WUexVsPS7UY8Jx62G90PpIRg9clJdHym3mWRUU41cj\nWSWBpLoC3XFhYG8HPgUmUjyDvsculioift6uwtbpSRkKEHHFVSfn3oHL/9JM\nUSChhFcTk6HRsTpnY2F2QxcI69qtAlU/ttXzUEcA6lKUG0ogKJhpCDBajdF4\nN25Rr4WUjcLOgN0JDdlzkfKXVPmIxPS7yQRmm47bp1J3Jtx+6lko1e6M6oDC\nGB+W\r\n=tWkc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"130fd7102cecee8160fcb40c1213e821d88a483d","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.2_1612970509712_0.12127904527087385","host":"s3://npm-registry-packages"}},"2.0.2-beta.1":{"name":"@atlas-engine/iam","version":"2.0.2-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.2-beta.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"2dc1de829e7a52ce6fd4e69f06fe2dd86b739fb5","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.2-beta.1.tgz","fileCount":35,"integrity":"sha512-8Vl0C5PLNBmFeE9gHDENh/YzGYBYrN2A+d+57x0WNU51iWM1LfQPFUYWBvnXaOWbb1g55v17FCEWEGWnHE3y5w==","signatures":[{"sig":"MEUCIEvfWIkGSCTbiQT+fiEMgZaslRg5bDgkD9sDf6fwxDgrAiEA1VZ2D+Q3d7aiV8uHEusBFfbPII0+p6dHFJM6fHQTPjs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI/pZCRA9TVsSAnZWagAAqtAP/1sOMYGXnarQqs99sfKn\nekuo6qv6PeO96AnzlJgvsSCjwHfuqCYNRArytNjNlrdjcSdmSzwOGrnid9fE\nuqA1VG8nrcjvjFscauKQ7Hme2e8UOyM/88EwAZZzhBJdjbt0OBCf8C6ylbfj\nfn3jH4E9eYtU55JEj0pVd2QNZTJ3XoPwxBu0+VFU5HkOw0090t4bcHTHx1SO\n1lFmeQuksKza+KyP6HuAh0aRZp0Qj4lzHo+aicCorXeTwAz10AIEKDVKXK/X\nH9e7P3dtGhM4yK3QGpIPWQ5pZLOVuNHFcZ3L8c6roOpiB+XHC7NJItGHizCw\nOYCcWQZktv2UeID9Jos8FOT5uju7VoiHG6FXRI6wFjsXLFuw/uge8nWTZAVp\nQJ6D6adg2bhB1zP4eRiAOlu1xcjjQoK48lmzCjiAiOrmBcIqVvAxLqUhtCyt\nzdpFTyEpYnMcEsXSDUFxkkVeP0JMPzwcpFaZ+qcTAeTITRkd+H+of/cehdnC\nn0X908CKO4Z5Q+IY07HBAOrtaZyplwYEe26OcNyJwNiizD9xzGNxuzOxKDRx\nK1SqFBzlgeRYEHhuSLNwWdG1wyVEKJcPoarkbrQtdcNbmMFnZdGB8cgpKDA4\ncHg4T4sZGkDpLbT+oh6G+W4B4SY5ae73J2Tj3/NIsktOO+SyV221b5eAM1Jf\nYapG\r\n=6ouU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"f1a85f5166e7ea9861e2f82d70561532afbc3591","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.2-beta.1_1612970584932_0.967816627284934","host":"s3://npm-registry-packages"}},"2.1.0-alpha.1":{"name":"@atlas-engine/iam","version":"2.1.0-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-alpha.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"34568c1ca7b7c5b4cdc13d956fb0504efc32fe3e","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-alpha.1.tgz","fileCount":35,"integrity":"sha512-/fmCpW3dXrG7PK4W/21GGInzse4rJqohWSz3Pzh+v7yBnJ9YosBYghPLg9WbuyGHKXByYNebpIFQiQNbKU461g==","signatures":[{"sig":"MEUCICb7lqFZkRVMHNOoE2x9r6igCw0b1ss20v6cBWu92TQTAiEAu1T5EH0STOHrdKN1FKp5mYf8R1oTj3OLnL0q3mySAwI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI/qxCRA9TVsSAnZWagAA/gQP/RQrl2mtfRyWcFfibXRb\nxh/1exSR/tguF5RIXb/8A9mYd6lxBTgAZ5nUxVU0A9kJP7ptchMIluaNCheQ\nuXYR3X+3t8OpmY0ShPPhN/nVH5ahTUiiBfaa4dDjMfMH4+Lud0PdTki0TCM2\nqx4B+bHeHrZRS+CsmKnlTA8CE1RL+YVV9t7b+IRKoF5jBkNQr8GlR2Nyt8QG\np37V9YNP2sAvPdn+51vi2CmHnttCx89/ZCmu9axdHa5ofTvj9PdYlSJh/X2I\npWpEmY0M8vwkXjVFAy1qk6wNloXlZ5WeMEpvg7pv/CWqkcu8UEpEsO+xau9q\n0pMDuC1DwyhLHhMNAii74AeZlCTEQ4hrWwXpWFeJ2D/rjjaZUQHCBzipGy93\nkNxZKeAsV8Ru3i0rMGtEy3tU7QK5zbubayn1fbxzx125KBPLXIdlGhCHiPXt\nwLj44woA7/LvBEfIQ+3tOsEeGlHrtMHOtcgqdUqnC6YoDFVLSJM24AZ0gNmh\ncnmY3yDceDyFW76FkCpSIdtdCpFBpx61AA+HplXoy2GN3MFwnyvJBuy3cU9P\nnVaXoJenjkiLBdffSUilGENZNeRnu5+XtVNVACN/rdO2qzh/AznSREIIKPX6\nwoVwx5b88Z3RbfpbIFZHJjwZRS3+OcN1k/T2jgDp5wfZQFmbrDnlcW77ERCE\n4zhN\r\n=D89m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"05430820c6b0a3e684d30e36b04595fa3fdae8ae","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.10","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-alpha.1_1612970673372_0.08558826940996211","host":"s3://npm-registry-packages"}},"2.1.0-beta.1":{"name":"@atlas-engine/iam","version":"2.1.0-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-beta.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"4c3c2f4202ed0535733e9c244fbaf229c8197c54","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-beta.1.tgz","fileCount":35,"integrity":"sha512-GMZuGztROkNfMP495fvJ7ZbtPLoztZwuZ3fkrlcQh57R/AUQTO41UZRbq+5S+fC2itWy29iyYTJvDqH0L/WFdg==","signatures":[{"sig":"MEYCIQCElpkWwlrkg4vhCpsby96EBL1ymNCikfRudJ34Vy/xAgIhAJ5UVLKoAtfnHYj2xOg7zYCDAE1CA8SsyxLKlZ6vROSh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN6uHCRA9TVsSAnZWagAAmfsP/ibYLRybOtmDxRwFB5Y1\nwuGQEV1YeIwWg67D0+VkEvUedmxZTSc64hG72ofeL6I70tGdRgkC84leyICZ\nfkqGGWbyYzDqm7kXlZyrAzEZkAZVYovAlFvyxqaBErJMEhnaP0bvi7hAiH1I\nOJO+cxvz65eXzUk1CRtG6VidNOEXx+z2VM28jzcfgh34H3IwJqXF480rV805\nei+AfIL4ZtVMSpV6ant20C+qpNjVUlHstGs30dkIOha3Wsqxo1STD6EHAEjv\nG/F9xPWIqipCuRV6tgMSdOUPMCOK4seYFPxBYFi4qLzLGYbv2VEDJ8c6JjUH\nONfKte+njuGEaPUjbDGTWutkvQv3R9KhO1FMxSOkHxY65toMRSk6cTEPFIL9\nHvvlP92biaBz4ftgsLJQ/5OYXajayuMJ5527cNRf/OsMErw6hjt+aHxuXlT2\ntsekGBq8SVJiTLMR/5PFEWMsLOqpUnvdcEfjyMiP0jf7FZ0tOxj7rk5059HB\njqNspKlEEba/VrgLxRncOOBVOrEvabWjoc3PSZbIEZWxnubPsOKs9oOzxeL3\nh6+l0TqRv47llR5LiCiWC3o583P4hjEmfGrmrDhD6k6RyVmSLS2KWuh3G7Dd\nmge1FAQDvDLcpKMBSKfMZLo3AquonEnHkByVr5FhswOLxxwfB8L2uFpIRgHp\nJzzF\r\n=lIvi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"5772dab722a6cb3a753a9159025af26c8db1d4d3","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.2","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-beta.1_1614261126724_0.645775233971996","host":"s3://npm-registry-packages"}},"2.1.0-alpha.2":{"name":"@atlas-engine/iam","version":"2.1.0-alpha.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-alpha.2","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"9dc888c05b2d5ad6112c0fc82527e799d41fe214","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-alpha.2.tgz","fileCount":35,"integrity":"sha512-SkHuTDEmEwNnR8XtAmvhq9v8jFPWddAheEPc6yhwdeSsqXHZXPE+/npU7w+lVEL1H2b+4VNMjUgjZB9nzON2zQ==","signatures":[{"sig":"MEQCHzXHhTHQqH2s6NmWJIEnlLv6/FCI9MC6rJFAEoHpPC0CIQDJGMbQZV/IBsb51yAcDEtmx7UD63gt9hQLFIBKTizPUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN6ubCRA9TVsSAnZWagAAgZIP/jkojJ8CpUkidy6Yyzha\n+eHmqoGRO68JHupFnLYEH2kDFNEYSY9/TBFR0eoq4ZutbJcGA6Du+sDqsug9\nxWsTV6o5+8modccXfvHFYAHN/XQUZegBeW6yKuj6bbmD77RdBned/yEXLsG0\nneJkOZU92TjZvOr4FaLpHdp6H7zK99GbSkZeCmtIL8TD/ugdO+Zsg70a2Cqj\naQ52wzYUrduACOUXXXgZ+/WwjpS+RCuxDAUw2pi2A/kTn4QmMwVOhavOnYUQ\nwOFiTQygVj5JTIspZ83kc0gK600eaRaxUHdSIe9EDMvdol8R+6h5S2XROpPg\nTlM57q80XuHGEWGovNYpbWV+ygOEK0LKoroWN1DxNT+2qT1PhcKearje9MDW\nqdEhLzpjYyeq3l9vKYEJCVUMv4zotEBNFMCMP7HcU1mpxIyvXB5mDKTNOnCi\nhV/nppQIGfLMcBg+QMBhL047yUkeq/KLgh1c7cUMl8NntyWGEd45Z9/lo2KH\n8JCdMnxufC/PFSqWkAJrJ61AzEUofzhuJpfk3u+cuqXOBDRlPFwzjRJP+k5s\nvnWivQaGiNPty/p+bI7oO+ubzV0TmotqPeplTkFwPYvyFkOCjnilFajWMdJe\nQwkaohy1YJ4J5+mjq/2G7/qtJcs+FgOxfJYiWKpaib5C7x7t4RdJTzk3lv3P\n6/fA\r\n=fsSb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"473e1fa07fb0b8e894ce0a787d2ea0e1ad4ffbe1","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.2","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-alpha.2_1614261147303_0.2255643313552338","host":"s3://npm-registry-packages"}},"2.1.0-alpha.3":{"name":"@atlas-engine/iam","version":"2.1.0-alpha.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-alpha.3","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"49c966afebec7f23c0460441aacc7ca426cfdc60","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-alpha.3.tgz","fileCount":35,"integrity":"sha512-CUB9LF/f4sK8kapqEb5A+zA9qdr2zgvGlv2oUNDF/idYh//hMLGYQ38q4a/YL57BK2BoiOLWTlvVpYpybg+ZKQ==","signatures":[{"sig":"MEUCIQDW/566iLFCGEgJDhOlZH0soKV9iXDulCA/g2U8vOwM9gIgaCPsiAJlFgvJjhHovWHCoZayxdPtTTp/j0Y7WtWsk1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN8QICRA9TVsSAnZWagAABjoQAKG+UWF0TqbO+tidAmNG\nUoI4NqqmmGhRHz5cTAD7y3N3y9WycWczDDCrXvRp3yhplM6RR6jpbn95V2yt\ncIm9Fv3mUPucN51iUBduNvi87ZXRzWHhaJBLcLos7Fi3+xoJAk4I5FGgD3sE\ndQS0epWxANVQrjy2ZWkufZmJYGITW24I7WixtaxXl63MG0u9vyvmlg6q3m3Y\nnuQQ/o/IIflI67GLbFmqYiduNkL03PMgToYHvsyBMk5dkB0RspT9RGZmxIRH\nZkSH9l+CXi1I5Dk464Es+TZoTSaE91kavVij8xLEPjE6iqlRp5E3rq+Q6fvs\nTUvDr2VJi54inc/ORILkgM2ySNRmMtRF8/y63TrYgheA+DL1W7ZeZy8VxohU\npsgkcgHQBE8fSK26opnP9e95cQg/rlJ0FLst/hjb9msyxEBtoj9vMtEq0PoM\neOhxVrMJw5jnAKeTrtRBZxAL07gYPqO0QQ76h4F4ihkM+MhBLKANRCDRfarv\nNXesjhkPMRX/WQFJshzuFjLKv5uwUOOFwKamFG18v2cUz2tMEBNDk55S1Nul\nb06+Zl99Q+cvKNP0OIjavTOv638JsXgCD+E4Er5XDW4dA3Je2nqfOnstMpQF\nUV8XOTfM2EXv3AYDJBOAjXb9SCCETf/FaE1dUMwfZWsUEMOeOhLS7E4xQnbd\nffdP\r\n=FI9c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4e34217ddb5d5fe24fd4e2d758f880907c83fae5","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.2","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-alpha.3_1614267399641_0.28187869616672967","host":"s3://npm-registry-packages"}},"2.1.0-beta.2":{"name":"@atlas-engine/iam","version":"2.1.0-beta.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-beta.2","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8f7e5dcccae2d21e0addd9bd5afd5c9d802f6d6c","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-beta.2.tgz","fileCount":35,"integrity":"sha512-3FDQLLHKNmx1URTTTuEptiKS93nYLtCM0kVMLs5yBEFuL/YmVeyaoCooTkWZp5I/e74t6qaq4zRKcYBY+GERoQ==","signatures":[{"sig":"MEUCIGHaXWEt2NBqezyWVBXD+fxOw2t4dEDBXQhYRZDaHP9ZAiEA9wGpKwG+y/xfIv3bmOSsFPvTOg0QOI0EnU3ogoXb9SE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN8QNCRA9TVsSAnZWagAA2J0QAInFYnhaPReT5zEzHiBD\nwqc4HzD/c4D/iFIQP5wFiCMRyiyp2NOiCvEOeZ/i5kznLnNT86k8hAnM2q6v\n0NBb5DWrUg9CBf5i3d2kKnn94eacIvPipwWg8E12u1R6PeUeuN/ygJ9iWTyq\nOYxXhnvEzBWy9oMs3CSf63iStDlr3hPXadRmiwn3KyKO1s45p9Y+e+gbQe/p\nXbMOhYD34fJqMHJ/WaJDaUPCiZDthtiD1RermG+c8ZLw8kERQMqtIT9kYlwa\n0H2xar6yHdpoKXhxaapkc0sVs5+0nMZUZrLyAplu6pE2xP4Ndc50YoF10+WD\n+0eCd+ZOsPNx8MCajLxPlW82o5TOqmiczJugLn1x1ervRxQ/jEUEosNX4hPV\n1QN4jPEvr0KZFCQlNhATWAbnDy25m1vrXvm6IjOiR9sdvDD8QBserEA7RbN2\nzlxyWlDHnEgOp1LsZh7/M4BW3slc5QH+2/uF7vkttmSNansFReYReDNcugvj\n1I0ATXV15uQ8rce9UKfwuMJvyHqPJ7vrp4lT6KJAqVPycgM2draRJyvlYWxn\nWz9hDSASXBnigiZL1mCX/myBxdKtN7ZsY8xFI+fYe1ZGxcb4a4teZJJEXz/R\nVaEQmokFQbDWWsXTEQo8rr4wHljAypqLXeSEPZQFSfglUpd3QNn76JbKjPlp\nBrFf\r\n=TeMq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"d372402b421b760da81fba85ba97439b90408039","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.2","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-beta.2_1614267404597_0.10498242407005254","host":"s3://npm-registry-packages"}},"2.1.0-feature-12c696-klt9uwat":{"name":"@atlas-engine/iam","version":"2.1.0-feature-12c696-klt9uwat","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-feature-12c696-klt9uwat","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"c8684e44e5b652c47bbbfa9fd89c6bd917310923","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-feature-12c696-klt9uwat.tgz","fileCount":35,"integrity":"sha512-7V8tYVTUjK8URvnxa6esMOEb4eoHZ6q3jxV2o8migtTqQjlELWb1d4aemHeLNnb1i63OGAimkuMfF/OP3gADZg==","signatures":[{"sig":"MEUCIF+q2vC3MQDuHtP65f7T1Qx1//n6bd1UtrOo7SEQZudBAiEA+D2YFLDOr3UeezxZysa6NEf/5lHmiTSWDhV8MQuzxRQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP173CRA9TVsSAnZWagAAGc4P/1Ua3ex/f8R6YCqy0n/F\n802TxZjUb0XPVsboCyZ/xE68mapfyw+h4DoGhkotGrfNC14ChmDR1enXq2fU\neODKIQRBKKnFiicgLXo2B++wlvigQPzlmBi7MGSQB71mfrqAYtK9F88Q4jjs\nmNKE2hzRZCISRx2JlNaNYwpTRH4umu1ApxlpAkcB8U4d4JCFWrXCZl1BIcqn\nWV1XsaoGqLWj5d2IALT2PziZS5d0Rqj7T2P7bAnNDNp7OSiwBHjxToAVBDk+\n3kSXw98igP055jn4RDrkWHCKReoOAkLD+XGqt41h5J3W2sDxTGsskh1uMQ7N\noXF0TaIriD3rpdpu9812H14Mb0DDzfPQsRkOIqdOAMt/ngXbT+LYdDZcOjTh\nAb6krsn6YlEcDRLINGwSKtzhQKrUYWKdU9LzW++mVzDoikpYaLTP8qkdERIW\n3muDnJ2moGCaQKRxZqjjYWcemQdEbIgtDo0izyaawSvmWImEwEEd+p05PXBn\nxeXj1I0ZKRh+p4g2xcoCfbPYm84qQgm07irTva2CtOctumfCkdR5gUdILJN6\nv2XmokiD8JQllItmwukSJBB0Jmwbfu8uvNliyo9c4WIGfH/bxQHqLILJ65C1\nhUzErBBwqkgEmjRrskKSKWHcRDhqsK/DClIBCJgBj7igal3rS5OCDMMCSSTk\nvbSk\r\n=GJvo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"12c696d042821774d476347bf294690a4ef158f6","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.20.2","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"feature~terminate_process-instance_before_removing","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-feature-12c696-klt9uwat_1614765815086_0.4042483373311103","host":"s3://npm-registry-packages"}},"2.1.0-feature-94600e-klteh410":{"name":"@atlas-engine/iam","version":"2.1.0-feature-94600e-klteh410","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-feature-94600e-klteh410","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f68e1a92837a24928acfef53bd5a06e83c3d4a6e","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-feature-94600e-klteh410.tgz","fileCount":35,"integrity":"sha512-+arQuE80sdryiSUu9frY++5h+psUnwjTszX24yPWK9GBkW/xhkg413zc5aHOTe1XnmVQVy8tiH0ThBCf4to34w==","signatures":[{"sig":"MEYCIQCwNI+RjXNoaJsT9NN2evDYVrt3WsdD2FDPf2o/7eps+AIhAI8N2V5KgUsaaENE5eDsHoGoC2oQEof0a6onHYu53l3Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP31HCRA9TVsSAnZWagAAAVYP/iAddErMJm+BRbYr9FQx\nc6LotzH3Xi2F63CK6XVJmLJWW3Q2Wg/IF6fv/RrFpYxiXLdjqqSDYosI7y7V\nSAAZlR+wef7YrnYYw3S00jepQZmhfjsYiuSWomM7eMbOABe2AFrRnL5o+old\nGA6J7xiGEblTsoIkfVyU1/Yj+7zU/CMsH2jssqOMag/Cq4dlnETIeNKu1nQs\nkxAIiHy5rfesO3+DKTscHajvqpwFhlkGqD+FCuVnIGtAk3CBj7sr5yay+Lk6\nDHNyMcc8d2HJYHbcIWNnel4LJ0wLJUZryR++oYN+IIQDQKR3g3C9ZMk6XFZ4\nQv7TYkS2EESWm21U41laQfoZVzVmkx0Ych9X1omGJifctRqME7e5dIQ/YTs/\n9u6lU/jsy/xiWpDosyNACDGTGX1Z1LXHDSlHyaHnUnR02H33n+Kl60yt/OxQ\nCLwNEgfGSlDiR99+1Hj1anAV9QkS7AZby1HXva/q43fx7PLAVwIM/x5WHBdq\nOJcVt0/8b8n4aVUNrgSoLhsbXZDtA6FF7a43vuhpxqs5PLP79eqHwZ8FXS2j\nQmK6MuUP4MVY5F5cg8iJzDeyCKlbFGwL+vtIbWGuvdGZ9Kw2N7pcq0gpZZ8U\nMSqGugjOYSJytR52JbWcNODZnkuZv16B5kmRZp9eho8nBfZwCzzLAV+NfPSP\nTRaw\r\n=ZAit\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"94600e6e1cf8c9107a27fb0d9593564365a3d4fe","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-feature-94600e-klteh410_1614773574960_0.5850846379121717","host":"s3://npm-registry-packages"}},"2.1.0-feature-a76b09-klum724z":{"name":"@atlas-engine/iam","version":"2.1.0-feature-a76b09-klum724z","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-feature-a76b09-klum724z","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"66664b92212b7feff23baa9f5d053bdbb8949f55","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-feature-a76b09-klum724z.tgz","fileCount":35,"integrity":"sha512-HRe5+piArKR56UwzFX+WrhySeCFFNJ+xTOIVG4yVdzt85haqo79eYNRmODs4D3QWG0mMiyxXLKrbpD0Bne6IZg==","signatures":[{"sig":"MEUCIQCqQfpjB6+Bu/XKJAmyunT1QqDYGK4d8o/D+fHS7RQvZQIgW1ZBMD5xhScFNhIM0TZcyXoKzHc1fqiNnnls2WdEEF0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQJwcCRA9TVsSAnZWagAAnsQP/A6Pg1Yk4CQIGtwg9Stb\n1FW9kb7NqpUpUNkCMpnjwwMiJtgoSgNY84IcGXYLk4nQlsfrC1yHBlelSJBz\nIGmOZ6WtRhSA81xJtPwg6EmY2YPmo+JmO2X673quDzoKHSLWcw4SKHA3RjeN\nwL+5FTO1DiS93aB2xURInedUzXZLjE2hiUatxmmn+V5nXOjOdeHmspdEUCIa\nWAfH1evFVbkg/8oIRmi3TyHV91Eokay7LNPnu+hVZK93PJW0gw1u+gD5RFb4\n8QiVcxDCw/UI3euzkROfgJMmV6p7F7MnXKsVqiz4FybTkBRyiRTP0KqDo23q\n9RzEeypcJiWDD6Z8gYmTB+8tT2buYI8Rqz6A5dYCczxHM9qpKkIt5WOuNkFS\nAEFPrcPuP7t10cit8owQ2zHw6NrEiMNjXL5xF93+Noim6AMsZ3C/PtD6i4su\nRUmuFh0uJ+aGS3RUwZ9UxEI7lZd3hRmp5arbNupXGEKkFVndPjDJ6PNyUSSd\ntxZIwGrVrhZVLJJmMZBcTqNMRfw2B8C4wLw/4TB5CI83YPNS9oMNjfKyR5jH\ntRK0TrOLr3q4Fru+oKx8uV+t/sOVmt5HxHZO/RusPR1q9G1kYUvi6U+4FeU8\nyO0EKPHef3/ZB3dMK7JK9jGwH8ksewMhVAyLsJztGpoN/thtvlqN5SRnfpiJ\nEQoJ\r\n=Zmn0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"a76b095114420b39c5ca405cef9bbb935c31dace","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"feature~terminate_process-instance_before_removing","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-feature-a76b09-klum724z_1614847004008_0.23568067285782135","host":"s3://npm-registry-packages"}},"2.1.0-feature-10a380-klut3os7":{"name":"@atlas-engine/iam","version":"2.1.0-feature-10a380-klut3os7","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-feature-10a380-klut3os7","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"53ef4635bdd4a913fdc8add747b04e6e6eeb1ab2","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-feature-10a380-klut3os7.tgz","fileCount":35,"integrity":"sha512-BgD3/WZNfyCVtuZ6A/LLSWlT87EvPSg7PNmXHfbecYEcrTH8wXZ3w1ZJsG7RjKcgAXj6tj92XaFh10g4NzwYkw==","signatures":[{"sig":"MEUCICsOqMApeYFW6OiAqOFxGCPFCTfXRh5pIUHfNuqeb2tXAiEArVGnwjVQXwetp8Ly7ftX8BpQjaeOXd7c/PHOpJpaHGo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQMlxCRA9TVsSAnZWagAAGjQP+QBXN2YwwVzB+VijL5Qq\nMF/H2rI9XdxXhD4TcPh4kZGo/TYsoVvZ09DSERyg+K9RMvymqRaGhsl64Knj\nY9UmJw4Xz4qSIF/ovKvgYF071TH4TSbMYPsskyf77/LLSeC1drMyqM6GAW7c\ne/ATMKYYd4A6IkxFf0Xw/IEEwUMR5/9xdvFk2C4Vqn1+dQS2ADks4CoFr3s3\n1PwmspT/ZhzbZ6VtYL8CP/j6QqfGWTk75zflxJOHkpANXBbUJjG0Kdy8gQ7G\nFnL9t8yMxQ1hclDj1AZcZfG6lnd4V6qAbuxbJvaJvWdkrwPB6acwBWBslBO/\nMdW2hHeJxr+Xa9kU2lj7bD6iDACM0N2YhqMvYbDvln6gVdWavWqfeLvvGQdy\nqyTRc5V1sjX+S8G02o6FjubRlWFGtj6tYGKLfammNvObkjDptLFLcaRfb5Vw\nkxlJyNeI3iPCjrpjwBQ3UyFxCGLv4tAtV8lBDD5oHJVwpz8ncHSXDKitatJw\n2blCing9B3ZemYv5ScaMR1dbxafO+JVkCF/0UDXH+JuLs9cfAxCbT3rhUDlE\n2bVa5qwcL9nCNgXuXw2w+W+4yfPgU/oeJHgv4WnCReGSVYruiKx/y3GT8RTj\ny+AQyYc+o6oqid9QHmRY3WOVBdsaPAZMKDnHNVocE+1T8dieRhPosEsMqJTx\nx+aO\r\n=c16U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"10a380d94498882622b9b17d90bed1ad097443f4","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"feature~terminate_process-instance_before_removing","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-feature-10a380-klut3os7_1614858609247_0.928686074361037","host":"s3://npm-registry-packages"}},"2.1.0-feature-a7b53c-klw1kg72":{"name":"@atlas-engine/iam","version":"2.1.0-feature-a7b53c-klw1kg72","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-feature-a7b53c-klw1kg72","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ebd70883c26e13266a9a7814068aee387e429aad","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-feature-a7b53c-klw1kg72.tgz","fileCount":35,"integrity":"sha512-EzLD3Dk4W23bGP2NhkE1lsA5/FOtlwof5qBZsBbU4nk/mTkHe+/9Ek78NCPsafFFvxiuK4qbbEGjLQU/OMTTFg==","signatures":[{"sig":"MEYCIQCgb6z84bsz2DCvu6nrmDk8qCzZ+I0jU3iITd1Ze+QDdwIhANPtZfygO2hNLNl4IIfIm0PJDVTrnw8j+WYtMW5H1U0p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQe0tCRA9TVsSAnZWagAACqkP+waqLsle+wz9cpouvnnB\npsIYjHL4T3urXEQ74u3dBHcflOjLfvFE7Whp+WkCsPZU8za6rhHZLg0+fzOg\n1eS5y7i+binanLU93NlVdOB/9PS/OEhjdVehyASr1lWzTfhsNl3lpCIqn2qP\nok0EDzWkCCvkFauP0C8zyGATZAYKp6ZcJtuqRFW5TV1ZQY1QIX611nYr/coT\n7cdtYmVg6UJRCXGVij6mosbej/9ekMKYvPWVq1WzaIdUaAVkkpil2ygCVoPq\nSbV05GDdISZ5XlmPkT6omDixrxjPRU7s7edKN5bFghr6Nc7R4CROK/g0SJbm\nYylODoipleccNwYO7GxV5Ctbt2yRPTIpR5t4AKlCSarMuOoS1vZ0thGa8o3M\npmNnDmCmaqZsfnk1SJeq/gvhZ6It1gzoLHvTOPGaYzUUXoHqmVISTC7qWSEo\nzGWkFvNHwBO2Tu75+SYF52TwC+633momImTpHWseayfd4lz/5whlyzHMIZlo\nQzGH0Bte3TG5HNH/vNdQ7IWTeavbWkUbrsmoq5d+MOGftNbUinN1fTkCR0lQ\nxRC0HjWAlNAULHDUUuej4H6uJ8FNxNCWjFOFo9G6S8CspI4XQwy0bChiUPrA\nzK14o5g+kbsbhD7ItLB1tkvJI9PW5hwNWNBkQbzGQjgKkX3rQ4rG0LCV9tal\nHB1v\r\n=kFfo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"a7b53c58c85364e4764ccc58b8bfca8b21094271","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-feature-a7b53c-klw1kg72_1614933292783_0.38863281586426","host":"s3://npm-registry-packages"}},"2.1.0-alpha.4":{"name":"@atlas-engine/iam","version":"2.1.0-alpha.4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-alpha.4","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"8d9f8ef6eeba1dc1848e71c907c630f04ff08119","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-alpha.4.tgz","fileCount":35,"integrity":"sha512-fbBgPp6cdkIHJVEDjh9vyDLXF9/Hh1YtvDSzOuu04OGGKR8k2UX/9pVZMMNMhUwZhcP/78bcBlkWyKW5gQbqAQ==","signatures":[{"sig":"MEQCIBx4vPH6hnKngZ+HbgLV0uGFxKrpJ3FQuI4+132KeARnAiBT386B/I2q6WaaXSnMOa5yhGwIGbJe1/T0hu4T7UtJUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRxoaCRA9TVsSAnZWagAABtQQAIbXlHb5XpkNjFT0xwDY\nJeVUdLRiSJspcsNy7GQMqFOOjtb2lrIeGVWQ6KRKBCjvMoItxWNonVsZalp8\nLNhNgBWuj9WJ6is150s6VdIfdcMiZLImv0KGisY4woLFV07pkDjRRrO0FAy/\nbKGAyWybo02iEZD3FXZfpLTtzTR73RF0Da7cmLBuq4giIZLiJ8TOrVt49CzL\nNtHzfikWRXYFBjN1p9mEoEOShrFYlivbdmD2QGcCuRYQPqdd6V3LxWTVD/x2\nWNnDuBHGqtnMXAAwmCMWzrUPDfBndC0j96y7mjKrCFipBt9KY9BqMns8Axzr\nO1K/OYGRilXbTNSjc6CD3kZZK7Dq64UpKNqNKHBP6fkP7Ws6X9Cd94j6xtnP\nd6LFN0nN3UsmZ9NtAVPyZXRc30vyv2Ou30ok6zJ7Wz4Tk23h2mhdtZOgNZvc\nfjhIKjnUJHPIp5gD/ebFpKChVsE3kR+RYAcVVq6dYxqw9A2lyYNTioLy50N5\nTIj0l4qqZmpZZEp/OMbb5mT5/oDyfRlVP/z75CCITPpuZq3R3pb9wBqeb6Jm\nhSKTiqbU5McXPZGk2+u0pW1DrDxf6RG5hTnwKbupkubU2+h6MHdlCyQi+xoR\nWoi0fU3dxK3lmGpQmoKfrU83OiqXWKyEjF9mRiulhMxsdYrIyt7KJrrILJjG\n83IM\r\n=gV/t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"bddd69d40079ec5936633e8d52dd7e7f95fee0c5","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-alpha.4_1615272474367_0.3418496128703201","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@atlas-engine/iam","version":"2.1.0","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"dd71d02e945a6693d5ef744aeeebdc46e9d8aa96","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0.tgz","fileCount":35,"integrity":"sha512-pbNbyNXuto2Vg5xnfWpOFct/wfESeVN1TOYtqvyif+4bQzg3mybnBej9lDxmOzHIEkl0176FCehPj3FCpDt2UA==","signatures":[{"sig":"MEYCIQCYNWw7BWh5JqFp98P/kxdm5JQp1vE3xNd99O1ccuSe7gIhAPLdDWFI8x16nY9zoJ+UoWyFtS3F6UfAzaD0IKmrPSgz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgS2mZCRA9TVsSAnZWagAACqIP/iN0bn4DOTfPyDo9sxrv\n/2SJtDeZtovyAn2m1+PPx4VPSbXg8CfqcUuSswSnn/hQx61zQG6qhBPXeigG\nOT1VxVrnFFTQ9augWLJwv+zRxbiI66muY2YCI5DSyAv9IUpwXyCDg6YYpnwG\nNyXhFefQws+HhBlXg0QnQmQ82DrLuIup3PMID+6CiVeYQ3KHCfHE3OEsdaPj\nlrslI3HRP1AZ+v4znCZBW7S4YRAva9zXs92qyBdelpJR6uM10HmOu5Js9RRZ\neZsYeE59Y8aufaLgFpYKzsaeGCvGUhSjPRVImUNv0nqZ/o2oUdlquUHQ/VEf\nyHYAo5BUhRfrkLxHsNjyjjg87edBf1/uc5uECFzZuprOvT5n+XXGfab+qqmI\nOt6AgtqRmeFVXFvHVhd36ZhumTHUAIS7Dzsdw4n9p+eQ+2gxNBrz3kMXm+B/\nNW79A0PEZNTRq1ijU/+ZaLz9n7aIJbcyranhX22WGd9mUalYCawWcKB1tx0n\nCKzMB63NInULlGAlerA3NQ4fDbRCxxT7rbTVzuV0RD1f5G5vRPvPiIvW+LTc\nKGIaTLPK54jnHvq2AXRij8wg3CFKjhAsmE5CNmuw4zRCuqpvUdBlJtlh3sed\niydg5/HFxjJQXzQgBtrFVBY67mrvFqtzsfFh8laEkNk81z/TEl2d7reCKH5R\n1AcO\r\n=xtsM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"c6024b63e3fcd622e5f9d61ed5940fdca7e75920","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0_1615554969098_0.4029961731042666","host":"s3://npm-registry-packages"}},"2.1.0-beta.3":{"name":"@atlas-engine/iam","version":"2.1.0-beta.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.0-beta.3","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"97a053b03e6559a4821e0e7c428993786a1a6c30","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.0-beta.3.tgz","fileCount":35,"integrity":"sha512-+Qx8JJLDy0gCLVM1VFomYbitQYzWxWDpQA+2/iC/Hl16biYGbte53jYa5yl4nfPzhm+R3zeX4Xxg89cnRiZuwg==","signatures":[{"sig":"MEUCIAuUAb9AEPWj1TRXhQFBnKyxV6PvboFbQpny+lJ58EubAiEAtJvTfGQdQD0W2BGrDbeJvOdJU4vMLVD+LqfmDTEm2AI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgS2mkCRA9TVsSAnZWagAArPcP/1JkuJ96Xz7k42rOA42W\ntFTAsN6jt5Zybqkrn9oJJAZO7RHBrWIKzH2lq9cPhzccFm9yNsEoBnDDgMt5\nagSOQu8FqzrWiV43JvKa9KL3K9EYeWGRwFhTp82UErGBLvbbr3xlzQ5+fDFR\ni3Xolk+uI7Wbj36dc4/do+0adzMFgaTWSFr2BaapJ2dENlynRvXAHydTidBJ\nRSEJZ0YWgqqnRIC2g+BZcfW8ms7Q1pxB3fHdr/IJGrPUgEyAOHhndnWk0dJg\n+bBt9L1K/coP6BPPt0Um6b+txkZ3pLOISJpSXoOz3agLTRYcQONn1wLRHjXQ\nrJ240Lxh1tODeq+aVB8Ft8jdPctdZF7xwsDaZ6mHsOKONIH63IvGjMxlGpJK\nvymy0Tb9n2ZPvewjGAtx6oOiiRCU+b02jn/DNTrDhTaA+J5eC3k50OZsC261\nMdAlxMQ28j0aNv62zfctQou0gTmxOc4PunZn+XR4RSJL5jI0n+H4ITAHN/KU\nH9RUWZ7HWcU3ebRTv02OfSEo6uThhEAwhrigd8eIGVhCGokLIiSjvuUHs3qt\n94jSNT+QwORNL4Mlm7gmPDWBWd6L6SjPtF6DQaz/wwvlfCiG5z/9luMkWBYA\nXueQcrS0LU9XMcaBvAxMq51bOhA0S7+nHRCjV9tS7eWCHFVUPoy1s4X66x65\nj5hj\r\n=9tY1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"8183b37e7c81a15a32a2025886a23af65dc9e9fc","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.0-beta.3_1615554980410_0.7106934013617057","host":"s3://npm-registry-packages"}},"2.2.0-alpha.1":{"name":"@atlas-engine/iam","version":"2.2.0-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0-alpha.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"883353056187da1a40484bc724ce49b1267fa2e6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0-alpha.1.tgz","fileCount":35,"integrity":"sha512-NKL9TCWiMY4IkN9WJ5LN0qIbPbwPGlKyAeFgn5twJA+IH9fhHyldaGTpbjxxlKx+HWeQuJnwRcqdTimeus0p4Q==","signatures":[{"sig":"MEQCIE4poAI262cSHj0fuFryE6Rj20zbTPWSw8JSwebit5ZbAiAPCbNuTNeEdGaPZUtaHT8MaC9ONLwkf5EtIRa+GB4ISA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgS2neCRA9TVsSAnZWagAAQNIP/1L3KzWxLIaOZ9RZnbzm\nrFWpjvZ4Qy3oQjrzfOkxs0ErVbNnAd3HMZMgQh+7ycFagR/5DWGpOzJBAPxF\n7qF8/mFokj6bWA1z990SiDhwwDY8fEbORQ6AN6HnOS4oSlow8UuP81u2DijQ\nEky/Jldf+wP6H73iUq2hqPR6U3eXbeecAgbCC1dITbZ9kpkAr/PBn6dje2hx\nBgMIumG5Wp1YVSfz3IucsbBQ/b+ipYiPX3i4lRnlMERHOThJFHTRZHABl1DS\n3qOCCPgvx8L620PnXw/qQ6uoDOS/ydU5HMYbvYfkciHQiP4LkqFcTPvs07h2\njlXDMv0I1amW9ZI7/OAh/1Ue3pzsi+UIeFVxdarPz0+73LXwm+QQLoHK6p7s\nQ2B+mDU3TCMOlej+tweXYPz1bzor93shTHpSUBjyHB5EjoXKxpVatn2bFDhS\n6+kbsxy30i0ei/VZkCSAkXtvp64t0SnhzytO3dtAZ13PtfGIPF0AT3mWyBOU\nmig5MGZ+nrit7twkZnsS7fx6dtCQtDVyWETn0e4A7hvSoJXNgjJRS5ZZLI1y\nHIPIWYdnR2aDoDtqMpr2pY/AedCJP1vvzntlODlfTqSfLoCfszYchKzNPnPw\naycDopLJZXcjpYxELyi0q3j8jjAP+dhgSc0OU9eaVj2BZbxwC3JVaEmQvLWB\nXBF0\r\n=ikFH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4c8137dfcb35fa5ca62e5b5a51af5977c6a18295","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0-alpha.1_1615555038270_0.4923041386175693","host":"s3://npm-registry-packages"}},"2.2.0-feature-e4f36d-kmkbzedc":{"name":"@atlas-engine/iam","version":"2.2.0-feature-e4f36d-kmkbzedc","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0-feature-e4f36d-kmkbzedc","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"6bfde804e2aedb2685140fd9c2d148fe3d83ef95","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0-feature-e4f36d-kmkbzedc.tgz","fileCount":35,"integrity":"sha512-+Vs1qQ43R9DgCQzI610Gh3rvpkdZ+8y2ffxMPgoIasZaHMTZJzUldA9fCdYkMVwCAIGv0So0icyFKzLMne4J2A==","signatures":[{"sig":"MEUCIQCOXftIBB2ZK4uS4JtrYSxc9RKpD2Wgu+dVvpK6JvrpKwIgHdHAYhYBNtSlQeg2V4HbqBrpWBIgNUFTcScjWOMrKac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWFY1CRA9TVsSAnZWagAA04kP/2of26BngQL2ziGYwJXW\nLW7n2Fr2pLYWtuSqrpX7kAIx6jFxlnXMzvb77uzv14+8AgFBA858XbK9Ti1h\nFSYSeEdUdeWuGK0QIf3Bi7ztkf+E3A6EhVWieuH8HZ8w4wYjZxqKi6zqM987\nKiDizvaLx8Ho8QERGC18zMnrNTh7uEfSM+hJh/i6v3zPrgZ8+MyUR7HKKJkd\nWF2gPpgIB2T3Xdf8ftirkaMTQSe5HZD+IRy45DUObimo7xVUMM6zN3vZK/mR\nqtT4dnWp4l/I82VZ61aspl4lgE4S4K4NqmvqUeEf98PvhSx6LUwM8Uj+La56\nph2Uj0hFJOyuvTkTZdYtWYfzXu2AGlUakhXsjaNoCg6BnClUrfL4C/JI9y4l\nIb0m/A7GOWc8vbiEZq/Mwa0ShRS4+JmoBGnaYHuPD+YFdqz8aoeS6ZOlXV2+\nwngQzB8BSPDU9lYZ5LZyp36RyPIkxQoIFZ4Vi0iT31QbY93d7bN5rW7sqv1Z\nfA2/meZckq/eYOrSFgPrWq+T/cz39/Jy6yfiNNQDbRxanGlqOPbKBToRwNuK\nq5YG1WoG3MZMwQtGeexSqxcsR5CeMuKnIF2MTwmzoaxYNqV1jf+S6tC3vAdE\nrz68n87Q8MSxjJwpEy0sFqBpwVYYtbXTkniKWPbotNy9CXQbArdY1viXWSrP\ndUlx\r\n=91jF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"e4f36d113e459d14c2f7bac84862c8e2dc6e0ed5","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"feature~terminate_process-instance_before_removing","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0-feature-e4f36d-kmkbzedc_1616401972769_0.17007636479355237","host":"s3://npm-registry-packages"}},"2.0.1-feature-9073a3-kmly9std":{"name":"@atlas-engine/iam","version":"2.0.1-feature-9073a3-kmly9std","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-feature-9073a3-kmly9std","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"a35c30e89a70d3e0312ffc33d1f001a1254a991c","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-feature-9073a3-kmly9std.tgz","fileCount":35,"integrity":"sha512-+BRFu3yfMfOfyfzGTNRchYYk9tnA0LZNjtnlCgpydGOw7bdzGK1bcW2qWB0Enu9Uhlrhg47we/VWW4rtiLEZIw==","signatures":[{"sig":"MEQCIF34DM1ySlwMHbY+sbwp9JxJzAT1xp358j5NYHd5bS3AAiBHosGIf4bAHuzrmFjKOaVzculmyUQdrj3KYS/PQJqbEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWdSmCRA9TVsSAnZWagAA8w0P/iAOh6azhSJqQsRh4Qsn\ngkfKftZSHK3A3M4nedEhkw1fpLtZ7b53m12m5H/6EM0MlPb85+40CYGkqwu1\nLMLvthMO2xUgZdMGyaMjPMmIm4XPi8SwC6NtKf3EsLVkK4RGQP65NSr0v4KF\nQJxk1fAdquFejFMazQE8/Uq5btHR0uSkXKuAXCGc4ROjtzNQkOFcmKGB8101\nZwXGjf857Ha6JzZ3njdKmR3J9iT2GMInSEICpsmUjoDnCKvSUFSHPuxU3l4f\nuMUxW4JMvF2Fq9KOFPCVSxWG58q7joE135TTaQYJ0J2OHTIMKz2VTb9ClEw2\nmzEveI5HpZHJRibBNolj0WDsDG7YrONaCuBbxzagmLSmlhwlzedEG1niK1im\nFdYRmVVVjUvv4g0IAKm7p0qZBFdU2uDGGxzSJTOdB+1u5zZg0Ghd009x1IU9\noVZ1Gzz3nzbrL8zAUBUJOmdW02rOb7GziVwFkT7ccPhk380dm5NCTBoYtZ20\nuNMHoKiGp0kfQyceAODiXFYWjn2xG6CnITk507P1PEwEUS0AuYURPWbYVTPy\n3IM8V9Na+Y69n0TeKq7REJ1KrB3zgTgqB9vyx7Z1hvH/p/jdjTPSjr1SYgXE\nMP3W4qzSlCq2jilKHgUnpF4UHyNkZ28nwcwhFSvjShIgFdvXd+oCzAog5lyb\niC4i\r\n=e79b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"9073a3428ac5f1881f880cb2bdae7229c8396bad","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"feature~terminate_process-instance_before_removing","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-feature-9073a3-kmly9std_1616499877916_0.7500790839971481","host":"s3://npm-registry-packages"}},"2.0.1-feature-dbbc52-kmlynmp8":{"name":"@atlas-engine/iam","version":"2.0.1-feature-dbbc52-kmlynmp8","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-feature-dbbc52-kmlynmp8","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"68528470f845f93ff35186edb8f10a275eca48f7","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-feature-dbbc52-kmlynmp8.tgz","fileCount":35,"integrity":"sha512-usL75GWnY0Ky7+0xKEV5md04w5aNDL8rrz2dYJ8kCKNVYTw0JoZedGvwpPa8Hdc6x5gr+oYrguXGlQ+UPV6tCg==","signatures":[{"sig":"MEUCIBTuX8Pu39imrnANaa5whB2dkxSKfJ3BxScEQ1EnO6XOAiEAvbE5Fy5XWUNGZaKrHdXxCL4Vryhb9FUmF+e82GF0nVg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWdcpCRA9TVsSAnZWagAALhUP/R4bUR7gNB5TRXtHzEIf\nUFYXhe/VfW8ZNyVBC3GtJ2uGv+lseU5PiJngXyQPnh4637cvQwSpMVxUoCR/\nPPUrCNzW0WI1BaoHit5fWle3SX7klDHsHFbjsgTBQBIWAZTFiRFeR89H1ahi\n2sEZECEDZZZPu5TdSVFVEZ8yLvNxyj/HQqs3JeKZa5+fGxgMI0qubD9STEiI\nncm2C1fu1ZXxQ7GIShyfd+Z8m/xaj/DEintXi0VvcYQtFsdv0z6S/TXkme1X\nK6QYMgTRTWbCrcy26c1DKk4ZIhLHqqYdB3VcUg0MKqDa/vli9xROZ7/cQmcX\n6o/sgqaEKmQ40X8mrqqYr/gr4ZEcLnWkEl1Vu1kKjrAjPBg2ST8HjKuIdMdK\n5stb1Ltkxi5dnJSXNyJ5bY3lsGeOhhbyFuTgo1DA8wflHBna7OrGEpEFkqE0\n0PdqwRAsfsHHAO0ggHC84bc5EJtF9bt5CFD2+M5Ue/ZoLAQRnLCVTA1Cle/R\nRssxUYigL/qh6IRVs1lpTPc+oK83EUo79bDz6uq+u9mY5WR8mzTiECWZZ7OH\nPdQ41i4Y3GsSBZkmYyvUiiMhPHk9woInwrgkwiwSsJpCOiIPd9YYNO9IPHej\n0zH5Rk1imdc98w06juhfP3tss4PsVsNlRr5YSfCx0uRi1ZXlvJJ7QbSwOq2H\nQ2Gd\r\n=wGBO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"dbbc52b3fa97326035dfcc40ffa00e1b1c452b18","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"hotfixes","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-feature-dbbc52-kmlynmp8_1616500520605_0.12045280658196811","host":"s3://npm-registry-packages"}},"2.0.1-hotfixes-f976b4-kmlyqbr5":{"name":"@atlas-engine/iam","version":"2.0.1-hotfixes-f976b4-kmlyqbr5","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.0.1-hotfixes-f976b4-kmlyqbr5","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"5790d12486ca6402691bd7c3a07029cd8a7b95a1","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.0.1-hotfixes-f976b4-kmlyqbr5.tgz","fileCount":35,"integrity":"sha512-MY79bS8Nv3FhepgpZvE8b2CiVfP/55xGODT3NEBPaJ2B+Y0s7Le3biV0uGvkT/a73F/k6ZlUMBL2UDY4Yt3d6A==","signatures":[{"sig":"MEYCIQDe4uuOgj/D5sPby0iQIX9Ad4Biho6XVILgAIUH1Ue0HgIhAJ0DHcTR+cA1crRwPkgPLrJAwU87aK4Z3uIjacKBq3W1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWdepCRA9TVsSAnZWagAAQaMP+wbHk+xo4iWWt3HSakQ9\n0bQwIu9TIzeO3ZEQ9TL0vMvfE7qIeseebLZlZGoNKZhNLpKMhKte77GrvY4D\nzbB5WYEp6pfNHDMH85o3heHSUWVDZrPwrygoz/JYLq81SfJ0TaRzZQNtmLW9\nsZlAT3alfEEzMv7fVjSQbu0OxTKSrrCfLFZ16cgP8hklKCFmsgCB6TicEg6h\nGLrSJ6v8p72PnHJYfqeD6ARizW9j44jzILzHjeiViA6CfvvIyefgCL9JL/Xo\nHQoMwM5O4nRBuY7+AVpmuybqhQLD90Y4h1yMabZkpWZHeDLJzu9ffpYhEz2/\nd4CjfVhCF2psDyakoJTfEBJagjSnV+MzjqgBpQc0m4FwvMHFvZIHzts8v8o1\nzlnEu4DHVNAd1Vy44wt65ejvoPfOhcA+mnb7DEgsU2m3+C93TPGQzpW7kasS\ndTBVBP9BARJmwUzJikrEdxFDXvyMbF5ZYlRd0S1quxndll+le1cYfVI8y4+e\nXREng1iBTPgUbS+DdPGEfXj3e2Gi4JO9pU6foBtfDU0TgwZ++c03QNAp1Juc\neSZHOIR23Mt00MVLvUpujWWcqfVORrYTRf2haMwzkdcJMi10tjiEntkww+50\nKKoDbeZtdVveT91B1nfuW5TNzYBAnXw1/5l/ucH0TKKn0e6C5xpJgWvum2QZ\nfLK9\r\n=u7LA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"f976b487e2f8acf5e80616e18ef8291599ef2968","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"hotfixes","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.0.1-hotfixes-f976b4-kmlyqbr5_1616500648830_0.37507884365543154","host":"s3://npm-registry-packages"}},"2.2.0-hotfixes-356e5d-kmz3bwct":{"name":"@atlas-engine/iam","version":"2.2.0-hotfixes-356e5d-kmz3bwct","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0-hotfixes-356e5d-kmz3bwct","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"d93439534a4eda4fa1973b69cde6122b0375c703","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0-hotfixes-356e5d-kmz3bwct.tgz","fileCount":35,"integrity":"sha512-W7rDeUZUwwstIlCj+dQ71kinGlH9Ak4aUHUuk2cdmrfij8xNbz67PualQC1GbjrO5jmgWWbkJfltHhY5YodMDg==","signatures":[{"sig":"MEUCIFi0kyQrpwbgbdrQ7H2cZn9ihaHXT+c/oKnANgzodxgEAiEAnzfHy9JGjwsUcwUqRZ02ylHr5PW/vu2H7dyHwKWqN8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZfRhCRA9TVsSAnZWagAAqucP/19DOld4SjRBjxZUtKjI\nYMAn45I4PhHx6pTqs2ovSmYftyyrYpem3UBk3F72UqDaG8qmgW+OUurkvsGF\nB+Ojgyfwb3t9wPRcGO4rsOyEqqGSwAZ7eL2Tc2dVnFOh+5TT16KzWwo/Vkms\nEcB047xkeSlH3iJOVcfcVmRC/FhC9WM5KPhWgefUw3V0IrAHMBETAO8pmkdt\nuot/biZScTJ+zAzwoKtjhgKuY78OeXyYxhNdiZViEmVlDlvYG8TnRJuMwUpr\nXtiZngkZfAY7ssGUfL+qjnb1mob9B83P3nXjQDfPPqdrZd7eQrf8UmcaNeXM\nrPaD1hxV5BiQYYmIMhaMmXrHF57yi7YaSOwDay75nZP+fXeszCiMBo3ypYQe\nDy3QwXN92Z6TPiD6JuGiwUCAd0jOVzjx/cyDz1bI1mlML0QkHRugP/BUUp9K\nmFOaXRuSBAEep2wLNZHa/AmGTXymOEIOZWoa7/TFleglyhpqR9vrJfb1lfaL\nSMxCzDo/KTjxRkzmb6pghtQxKNKE7zn9uLTZOMTBjbSkhtHzRK5nqkt/emBu\ngHK6vM4fJGOlNNbvyKrEfUBYjd3mdMSkX86Hth009LzoCTKGtnUsBA3z/02/\nYTHtNTBCPvV9jnDMC0KZRiQ3N9/blorMqq/owviX3aAYbB/Fqpn+NygE7mjG\nznho\r\n=OEDP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"356e5d9cee32fd51cdbfdb8d9dbaaac0ccb80eb6","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"hotfixes","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0-hotfixes-356e5d-kmz3bwct_1617294432703_0.37989142365997286","host":"s3://npm-registry-packages"}},"2.1.1-hotfixes-4c647d-kmz6l058":{"name":"@atlas-engine/iam","version":"2.1.1-hotfixes-4c647d-kmz6l058","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.1-hotfixes-4c647d-kmz6l058","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"410f1ed87d1a8e0c54355d8837b9a20ae648bc05","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.1-hotfixes-4c647d-kmz6l058.tgz","fileCount":35,"integrity":"sha512-jWBN/j8jlAGzbKRom2FEKubq9TLsb3nxPE4414jKjesO0VTtyeNE4XYnFIhfePEnrQyR6O0+5H+ePk7j/HHrMQ==","signatures":[{"sig":"MEYCIQDAhN9v/I+ghmxiWhdngU/rqhvlgibcf7jOuEIbJ0Zz7wIhAL3erqoWohA6aF6hG5Dd3ABg0vhUpZ6rQb3bCu2s7PWV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZgm3CRA9TVsSAnZWagAAPtgP/1lQNRLQ9iAS87uD56cR\nuuWlTJa1Ta5rU0u7eON8BcZghxry6YJs0t7UCxIo5qX/D8rlquJRz3vWGlGo\nikOuasMjoCDBwK1fhDQIUyHXdAbFYw9TiKlULD4PpDO+mNqSF5teghOcDiqZ\nxASQ+COjJSQzWBDOtWZa/O2nIHrzP8GbrUyR0l7syV93SnCGH3A1DG2WY3Td\nYNbzFM/Se34Lat96W2sww7Wewt5fOIdaVbz6r/N/UonfDFU7EVJg7jLECY3I\nqXuFVpbf5O999xIeScFVDynTrOwgMOPzKXPr7eVTs194kliRw//wU7U6Cmej\nizPCcWP7Rsms7WVL21KGcOBPgkARJq4r2X6q4RnJ3dgfM6XoSlDGctKXz+ha\nA6twWAX4cuoAopKQp73pSvf3qHGm22rmuXJLg7oGIKwZRurfrhxRekNC8+Oq\n8tLV8vNAaecsYv7GvUvZmIpS2gqbvXFsv/sJfM1AnqVLUBzxM8qxpG4dqf8A\nZ6P9dkoSeqPactEx34sNoku9IcHK7aJTcOjxJnZcQ+X+hxkAA4MjY7+gQta7\nf6YayTS4hyf9N3JmWZSzgLjGKABZ9+dy316e4CwzN7TkyTV/hkqYwzjhF/78\n0xbqKaWgZ41OlmRAhlk+nwR60IF+X+1ug67E4/4VECwBZc+zx6ZhpoVSCVMs\n4nrZ\r\n=eQ22\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"4c647de083f429b8b1f0af2c9115824126a57e37","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.1","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.1-hotfixes-4c647d-kmz6l058_1617299894964_0.542335619830197","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@atlas-engine/iam","version":"2.1.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"3ec860446c5142330613063766fd7decf00f2bc9","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.1.tgz","fileCount":35,"integrity":"sha512-pv5vUvSxyLdBkqaR+lbfFPF1AIlrMuoIXjn8HYmrnIp+KEaPKO6aRd03KUMJXaoBuM8d7I9bxvFvG2Re8sPklw==","signatures":[{"sig":"MEUCIH9+J5mqYCVy++fDavZk47CnAUFIXUintk7MYrIQdywkAiEA2RKJpRO+AKVH0ohQFK7IdNo48b72Og7tfQkts+L+l7k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZgm/CRA9TVsSAnZWagAAMh4P/3sr2vbubu6+YDLLVXHl\nM9V8UltXwoFX6BH+JBljFPb7VhdiLKRaZiIeYZM79XHRElRxScn12uXdhmp9\nwtuCVI2+gSPGzM3jsANBXZDOfQG4EufT8NMhEuQsGnq9LdpAlu4m8d5G1L1Z\n9MTfwD20b5rS/7ymUHiltR3vd0nxUftPyDp9Om83KWhqOzUkCqe/pA+By9mR\nL9yxIUOXnqIlf3RqnnIrmuLh5jVtRoMRdGx/Y1V7i9nxGypD+d4+DgaFq2U7\nE5L6X+XDZTXfhA8Bb92kccGiJ5txLYZemCDQYUuivCZeo6NW5AGEmq53UIfN\nihhEGaXsAch/5kUib+zgAC7WLs/i2U5Vt2reWiQA9IV3rDZ2pa8cLF8BpxmK\nUmRd4csuSm/E14LqW60Ks3nuvhPF0MfI9UHiZysZPYfGNCrpEhs1FKInZydZ\n9kjqazbnYw8V0KClUjmFRNVN50NwNgDzglpY1ELYfTsSKNaqgwjVoBo7TaWz\ngXz311ucYqkLvtEp3axjj5dyYeS1AZEKv2IPm0QBPbFQj1gz70AI1b0deiny\nS0RMEsG9cb0o3sW5xNmDEX25Pfoe+aWhbpcoRnJeia7MsDvmDibp7FCzHEOd\nFfWJtchNosfI1k3y1LwQznC6UgzqkMukvTY2hFBeSWQYVAOFqgCJ6moP0gJj\n89b9\r\n=hEUb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"8388447d465ddc6e8dc25355e4f66a2800c3eb1d","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.1","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.1_1617299902660_0.4815655053939083","host":"s3://npm-registry-packages"}},"2.1.1-beta.1":{"name":"@atlas-engine/iam","version":"2.1.1-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.1-beta.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"477e06b4034754f65fe7e2b613da247f7703d103","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.1-beta.1.tgz","fileCount":35,"integrity":"sha512-wJ314BODXL5uaby9QuvHzHr57rqXEdz0DAt+LOjEDAy69X0BjoikADnAH7zBJIXDQL8J0PNjP23JcT6D9sE8nA==","signatures":[{"sig":"MEYCIQCrINFR7+uD4NKhrwVacuu+AewkSSJafgmGK0tbL3mayAIhAI4IMWfdG8o7ICXrounlnnuKw1KyLftWWgcSAK7Kgfyg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZgnnCRA9TVsSAnZWagAAI/cP/RCe76MQqRr1k3wYEJ8q\n/ppLPhinzG5szLFn/nhaadtgyiArdQ2GRzY3podA/2jb9mGfZkkzEPKhneZ4\nE8tsSabVKqkA1QPFCCClvqs8lose3BGCfnfnJ8CltGg+iEYmDItncaKKw2sh\nMdcJ7wu3v9hILCBi1aeYa71OxF4Nn4f4pg1RlH/sJ7qwjDjKHAfoR3SfShQk\nLs9uXAKadrzA2wq0oVdjT63q4WgW8u/aWH/gmhGlna95lQZysOPdi3p72SCv\nqwVUp1/aL/4ss2eYKPMGF0BTAzoADAVrKJu5i1AkIleHQXGsRe4VGKDBfsMs\nE+HDXdjZxdFYOKiYRZXFZIcaUhY2qZlTU13C5CfIWQHjGrrbDuoI5NVeqmwa\ngS33FVYNmQys0cp+DkJCVKl7/L7Xe0/Tr9o8qZP3+ZlmZuSHrMQQwm3slTOs\nDFl0uOXzUkoxi0LVdj0UyyXAgENTc0DzC5clGZM+8xFcMc9MRpGrfCJgDrgB\ncjRA+p/mg5/VQVsD4CTJafmBvkhzxw/du/t2jugn2LK60R1Ef6qSYD0/2bR+\nHSk9+izCjSaqqiPNj9haPRqcycVzQjYc1x0vemWQ5sVXitd8e2AC9/SUPXaB\nJw42ImMZu3BgGf0JHV9nx9BRx2eaNGi0cixEm1s2w4Uf8WLTcbnJCyOdsHY+\nru+i\r\n=vOqH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c84310a867621084027bb2ebc29a7125fb712946","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.1","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.1-beta.1_1617299943064_0.2742052238186432","host":"s3://npm-registry-packages"}},"2.1.1-alpha.1":{"name":"@atlas-engine/iam","version":"2.1.1-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.1-alpha.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f1f1f775548c22630fe13e268fad9cf622f3809b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.1-alpha.1.tgz","fileCount":35,"integrity":"sha512-PUFUG7UGTWIaAiBrKRKAapZTW7e0QEBhCxfvbw2bQmmrn9wJZeyHj+qqrxkhNLKkhglpQFoLA0pdVx67iTRMHw==","signatures":[{"sig":"MEUCIQCoqziPyEqXkaAZeK83sEBkip9UtrZdZ2wM4wVlZfQoGAIgfxxL9dJiQOr3Y6SacV2v74pqn2+JX1usf82VidGG3gg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZgn0CRA9TVsSAnZWagAAUfIP/3hBvFdtPMGGAnGAqrG4\nxjuJTITv9QuYmE63VgF+i4/yjC6tlF2lv5nKszC2OKhfYPBLqBv/F7JeLFBF\nyMyNqJMwfoiMuZFO1T4gOO8W8BZo46iJYBUwEietAhc8rdPN8H6z98EZNB3F\nKIHH2xBEiGx7uUKMBhZKSX8e5flrbfWnSixu7sXfMGtP+pIjIhmP0qFZix55\nvK38e/bsE01nxyEw1SCnGEb9lfl86oSlDPDnJyq0tD3sOTuxxKu+CCEodtcw\nffkXzkgISNCVyMvmF8UUQ6D+rgh1k+aSWLOrNi8c80VOpIQfCkk58msdZBV9\n9EQaNffmmIvXsyYT8s7T6e1PpV+ffI3FjGzJGtLHKr4HxcnFUQY2QP2zNxYZ\nUdXLu4ia9YEslu/fwuagtFhtNUGoXCqt6Ycj18ip1k4SM9m7oc6J/uuMmvyv\n4UdzXfjtqecM6fDyt0dzlg2vvR9ifYphmxtPun5K2Fc12ltRGqLW9Lc1OZFf\nSDOt4TVHjk8Zd+zXbIDDL1gjhWEtCW+U0PY8l4qy655CsFf70i6Itd9yHneG\nIBnYUSqV2eUSZzNhyWL36KbR0IL8mffW0uP74/SP8UohYdEYU2uqCASEFUE6\nahxXUFp4yncNQYyglJaR51nKBLbdOj6ppL8+InGNQvDH5xusN8WgCQpAh6fs\nnLN/\r\n=CfoR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"d8792f1c759379cc44cb8933c66b252e76296f80","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.11","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.21.0","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.1","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.1-alpha.1_1617299955524_0.9966823214011697","host":"s3://npm-registry-packages"}},"2.1.1-hotfix-e2c26b-knj6nffh":{"name":"@atlas-engine/iam","version":"2.1.1-hotfix-e2c26b-knj6nffh","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.1-hotfix-e2c26b-knj6nffh","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"71282f03b8688dbcc4cec66e12cb165652e34e2c","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.1-hotfix-e2c26b-knj6nffh.tgz","fileCount":35,"integrity":"sha512-tTrn6baQoIuyuDKTjXHagWXTaNJ57pc244/UHhhZkJDqWS1GpRR70xXZuZMidqW7Q7jdMzY4jAKZVud6aIV5JA==","signatures":[{"sig":"MEYCIQDJstAG5GqbZPiFskGMZ3naVQVMBm+NIU/Hjdl/w5f0SwIhAKcpPPwBm8ppTr6pzeEXg0XTR5qMGZ/kKGG6xM7G5AQO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeH4YCRA9TVsSAnZWagAAOwYP/26hmqD/b78/5RqkLWDF\nQ0j6KwWgAs8wRnNQJ0sM1wmWx8qTd5bayi5hv7NXHwodWQkGRhjHVKVZHAkl\nY1EBnQeQnZwhxtY2gjRt7k0NncO7S27AJJQ4hJpwRO4+u5T3bZQgd13PPkZj\nsDUToYhHVsGTbySaWuaM0jTiAMaqX59SF7L2R4k37Og+5Uhwnf8I30uKVp0B\nAjNQIqJX9ZrW0CxB+SgAmK78YfnIliD5BSusC4MyuGf3S1Hlkec5QxNpaeRY\n0Kk55EgNMYSHgFaIvpsCQmz4kXN/yFgW/xq4zH2TgAl0JF6tcFWQf3+EGszl\nI+PYmgLTgiMinIGE3RGnPaBZiSQaDn8kN84uz4u6rM3qsHwK/zInBpKeS1fC\nG9hcgRt9bqvnRv8WtP1skbhe5CKQICN1zvNx3HuV5g970bQIrOiBdNM/raWQ\nC9ehgoXW+LNcKqDlLkPNsd1NoHHqPls1CRjNxVJK/UHZ/hlinyQSGWMaJmzx\nr5AkOj646iX4HbdlaRzAovjNEBzpwKgXh0ieC5tdltp/+hiKVwHTMJMfFdxu\nN/7VGHluGT/DVO7KeJnxRhDazBC5v0v0CSCbSfDrPb0ltNaJLx0KhFhwM7Xn\nOL2tIDeh5GXk4i0VHSCUcF0fLWW7fLJd+RIxVDlcrDV0wvZ073zxVAEniuma\n1iTE\r\n=Bm+V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"e2c26b9ff3891892a76d1f43976705f0825efe93","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"1.1.1","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.1-hotfix-e2c26b-knj6nffh_1618509335784_0.6416993974268372","host":"s3://npm-registry-packages"}},"2.1.1-hotfix-c7870a-knj6p155":{"name":"@atlas-engine/iam","version":"2.1.1-hotfix-c7870a-knj6p155","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.1-hotfix-c7870a-knj6p155","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"7aab317271c6f51971c51efe9c82990382bef8df","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.1-hotfix-c7870a-knj6p155.tgz","fileCount":35,"integrity":"sha512-Vzu6ZNDZufCCzIrXjcOREQe6Er5FwU8jcDBvAHkDrnMxp8J3LLbNmljEDFICiOmKLtRGe8Qr7DBmbf+Wd/pciw==","signatures":[{"sig":"MEQCH1gszvxxutiLzuMP7QDzcu3e/OMxo7H2jVKO8i1N6X0CIQDfz9qeDjeLEGHykgJdy/GIS/aqYZTnULVlSvLPV1nsXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeH5fCRA9TVsSAnZWagAAi+0P/030Kx1s3LPmw9/zxiGE\n0LSvYE/zAkOLalfUObyfj8Fw+94uJ3aUSLFU4Zv8y9zJ3FSFCeHJuxL0jfZd\n7gLNkEJdN21xTHmjUnWJynLdx8QJh86xpaILpl8YQLp85kbhW+Duv5+39csN\nxTwSORSipDQdABhrA/Phz1+eOgR0NiGVHXBSLg34AZYxZU5WjW5N9cYi3UoU\nWBNVgczGoIyLxJFMowZN27LG6Trh5q4Z8DOyA6e8vaczvHPMXOJ/c/kXb7DQ\nypW6Rqv5LC4e4CFNjFNIk5YkpvIOOhr+hxk5J3yGHpiVFuM93mrQGgt930Ok\nqqroXYD6p++0mdszY14bY6Bqpm9B9wsnQXTtFPeWPWslixr225Wesk2wyGWc\ngjv3PrFHTPWYfNnexAHwY4t1aiTkAEYXOF5OrkNtdj4ncmgrcbndS4W6grbG\np+vk19r/Amd6sEWX6+LMWJHviw25I41EEyYV4KjK8egQu8foO85WoncJbb92\nwVDePoKOvQJjUEzzDxn9bKwNsDYUCUShiu1BriISHVn39R856sCgUcB8VNa9\nLWk/O1Lz4tkKT6+BMJcq654gEzZhpdIXe77dgucxwof2a5ltpTy8hSFdO45N\nz77cKF1JMMs0hThlk0mEz8pWsfSp6yHbblGtg15G/NMKKDLPO59n37iFTSdu\n9XfU\r\n=4yi/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c7870a2381eaf399d7e5932d519d3aca2802da14","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"hotfix~fix_api_queries","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.1-hotfix-c7870a-knj6p155_1618509407379_0.12378931968796669","host":"s3://npm-registry-packages"}},"2.1.1-hotfix-c68d93-knj9tetv":{"name":"@atlas-engine/iam","version":"2.1.1-hotfix-c68d93-knj9tetv","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.1.1-hotfix-c68d93-knj9tetv","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"6a52d1e1df9b1e9fe821d6e0e508e79718b8b9ad","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.1.1-hotfix-c68d93-knj9tetv.tgz","fileCount":35,"integrity":"sha512-lABwzGiPorl3yJ7XXtUZ9JKCOwy8nmKYkhLYSpggp183vK7L1IrNyjdDYdlJIgMZzAgMMa68zbK6aoEmQvgaDA==","signatures":[{"sig":"MEUCIQC10g8ooHNQpzO5plUbYbOQEeQto2JB6ApXpZQs47r7fAIgDO2WIIobl4PL/IGqm1tjk/6CgKD6i56s8851vzQx1so=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeJLbCRA9TVsSAnZWagAAZ9UP/2YzwPiST+EOfPyHdavy\nO8rGQZx+RSO/zObMBgZVdS8QAYmEZ61hjAYbxaP6L19THpkeS30rPgbiwLI5\ntysdSSQNtomv4/+b+AsqluwNb7wwok+LVfltK6l9z0jnmqJFq0atH3CLhJQU\nT8rO0Xt7h63FosIW6YjVDrnJMYDerLNRJI1CbSJup9FmrOsMJU0RDzychpIg\nDj6+iPN4NKu+ew5kZ6kCHGB+znvo++jXSYW5uTSDKDEK/A5AOSBuh+2iiOgy\nOsWSsCJqfYgakagoG0QcWa2Tn54enVMEIroAkyd9Qs/gQpF3zrqTra0wImy8\nx4WKkT7uZo3zdgEunAF/rM6uyayyfj4CTFat+G4Sj5398EA2YH+Nt3ToSyzd\nr8i8w9RlkaMeC+df9Vc99iP4NEAiUwlsAVatyZFvkuANehSDVA9ZNU95UO+l\n+0ZIK8jsXGplVg7fO04nnXXIoHPNnZENBPmaAGGnHhT6r0Ayj+5eeK6Di9mk\n/J6x4mkOT0g39CgRVyPTKlns14vvUxXsl2DJ8DV1hirXIYPiu4UhpuNm++mw\ntz7B3ztAhMp6tvBuVPI/hdQATlH6SoCMnjOpw73Jje7GhNdwATwOElpw6hz+\nt5nsafghpsFRvFE9lBsVImZ5rMwO2GC2FYtRWmo0wzawZHMbExwKFDxY1DtQ\nibie\r\n=94tp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c68d932ca8f9df0b954ef4a2dbf9d997deb49429","scripts":{"lint":"eslint src/*.ts test/**/*.ts","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint && npm run test","lint-fix":"eslint --fix src/*.ts  test/**/*.ts","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"1.1.3","@atlas-engine/iam.contracts":"hotfix~fix_api_queries","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfix~fix_api_queries"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"7.3.0","mocha":"8.1.0","eslint":"6.8.0","should":"13.2.3","ts-mocha":"7.0.0","typescript":"3.9.3","@types/node":"12.12.36","@types/mocha":"7.0.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.1.1-hotfix-c68d93-knj9tetv_1618514650981_0.17658987860678588","host":"s3://npm-registry-packages"}},"2.2.0-hotfix-80139b-knoio8at":{"name":"@atlas-engine/iam","version":"2.2.0-hotfix-80139b-knoio8at","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0-hotfix-80139b-knoio8at","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"1bb4ca6dbeabd27e3b24344b57f7f4d4ca851afc","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0-hotfix-80139b-knoio8at.tgz","fileCount":35,"integrity":"sha512-TsEJrMQJ5LKnuYqk+jPdck75jWsJ/ecAvwgnI0lFAbrgya1StDPyF65EIvwOpACyWpwvPBjBcIIAweGathxbgA==","signatures":[{"sig":"MEYCIQDj3AjEAqklvuj9+7npQb47g7Smi8aggENNMbRHrLzLJQIhAI/D4lPzjI1PXgL6m+DelqYPT0MnPvJeHPrBwGT/pKPk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfWnwCRA9TVsSAnZWagAAMRwP/RfAEWtTD79e9MNx/DUv\nwGwr9tfCdXHb47+doyUVX3/xn8GXSME9URt1Ov5dVNAKMM65mi2HESz0Spov\npYfhNWYrwE83pGvODTXaNKzwY7PVZ47VpLZd4wTegh7ZhqkwOBeOsmOeFidB\nMljUN0QrioVURVtX8E3+/xzf3/6E+9gH+eTyqkaX6rtKQnJuSB2B+foaasWf\nlbvKSLE5IWDeT21MJuoQUc2WwSQhOEr8gXOy1O9g7SLRWNKqbR4fyWgJumsD\nUJ97aJUzvHw8tBA5OWrs/u6ucBRCn4757WY43zToZjBfSOkUUr3WJVK54g45\nzLn8bj4Zbe3FRB0nJNMbTHH4VnQuD9GgXywHjZ31bwWhy+jZFrCkDVPdEht6\nt4NVVlWu0+j+2Y1k/06aG8EvWJfXiOwHFln22My12zIwXPlcxU2a/ZKigJsO\npYaRozWcsBCQFwuvYl06qlp95jMdK8xt9aHIbjRV1usfbIZQrbo9dpWp15jj\njmNLzsY4H7MtKqcbGUw9ReqEXwS0ygD1vKDWFKLgi6C37EBpkYt1bvJ/IADU\n6TcI5wP53MNSDNMhIh7s4lp/+CTZNX0X7A/42zaeU6Dk+iGh2BjhjgOYCukz\nWcpO1ZvyfknKAb+AOalYULUw232L/eKTpP2hNY8lCItzy35DAQXk4vy50tyN\n5zhJ\r\n=t5bD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"80139bb990da4f5e1c6c7d0586e7c54da3b7c5e2","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0-hotfix-80139b-knoio8at_1618831856064_0.41933038876808526","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@atlas-engine/iam","version":"2.2.0","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"066e54d0efef0a0fe74db3955c9cd77ef21f9a9d","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0.tgz","fileCount":35,"integrity":"sha512-oLtNOhQadrNjDsAw55Hm+bLbP2EcPN0iwXkgL1e9aJP8FvSQVZqUs6yrM507AdBZEuybQxKxL0raDY3W/EznLQ==","signatures":[{"sig":"MEUCIFFJwf3C9z+Ju73uc1OU/ta1ECKW60+iHmkvV9PaqVL1AiEAnisu/Y/XL9H/xB9Re6FnFKahLnyfnlugQeHNquTC0/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfWsZCRA9TVsSAnZWagAAXQwP/i5n88CnFzHyTdrnUmZT\nQi5XLSTmVnMVZnQ6rkhvOsg5Y8Uj6aMqcRnYWYydyHVi0l44BVJ+/KkCTBlA\nDyfxdszl2038k797qbxMcHOHbtX+JVXQoYEMYLMy4u/CbXmtUlUdq+1026v/\nL7WUCPHLoibZXj7u2feId0SYi2iP3E3sbiQzXwlA+CZwSldcrsbibqhnHmjS\nZhPHL0We1boLk7Mtj3TovlaFR8DUk6hbrQ75uOVvhvsRjn64JLmC7ab3CyK4\ncmnUIGDHNlY/Za7axE9MZiS14v/ncacc95X+XJ7Hr/TzBjnsB14KRGCOc42J\nq5NMtNNr5nL4WeihXsX5J9JUhJusgmQ+0AnYol6u9bAbvRr4kCj5eL9+Anio\nHfbqQLAio2HxmmAf/E9OvXR6OU35IjgOeC2OH3Ka9Wmw9e22U/EdO7XoUQh4\n0kFBe+XayZQPcbaPIJ7U1K8oLNrWOk0w+NoLiiI8WpxI5SIuKjhhBp6VluEp\noy8FdrABPKE3P7Jwq/zYT0qrVSh1GFrxFhKzJjzK7lnHD8juBEABEPyEMm8J\nIYgMWm5hhJlveCkbEBy6paN/dg7K//K3d7cJlGBQUIeHzfvCKmb9iR2C7c1T\nkSE3EF6ixEkdx23+vhMOPNYpm/6puFCewKGzxuhiiZov7SZzn+D5e3uo3kmo\n/5oN\r\n=gxGP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"4d96b4764d484da2e738f10e7aacddfe1b1dd679","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0_1618832153157_0.054388104761505573","host":"s3://npm-registry-packages"}},"2.2.0-hotfix-48846e-ko89h1kg":{"name":"@atlas-engine/iam","version":"2.2.0-hotfix-48846e-ko89h1kg","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0-hotfix-48846e-ko89h1kg","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"fd5c93419a4287d7c4e970d36caa480e2250e9e3","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0-hotfix-48846e-ko89h1kg.tgz","fileCount":35,"integrity":"sha512-YEBSKi1AKTEtF8NfwriBp5HBFJoilKEUwaxrMCB2cRJ3nHbsVvzEcvRQB2JUbGV7UVZC9pPwsMzDTVuCpYdHVw==","signatures":[{"sig":"MEQCIEyKfMvC1GFfcNnn8vEuyVsom4BnnqBxbmBrzgVons3KAiAqNdg3BISBI2x5cvElgMDsy/XltFE2zzCtgG6Mkvib2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgj6F+CRA9TVsSAnZWagAARmIP/RX3LvTDPcoW4S3J95pl\nxk98p4Issqn4lmbvWQzKGZ8KY3FOXcqP6reYl51N89Y74cd/fqzvKYFWzD9l\nyj83YZut/HgwghIpu3gcRLuU6/hpV4Gbk8FHpZVeXHpt74Y+cb3Rw30CoI7o\nNdBx8IHzsBDrQ518ShK5yqbhAgTSZRFjrmyO5mSvjTYRzis80egFEgnwKTA1\n3HvyHdBBNxtCMZPnWh+0A+909hJxJjp5o3Vs75iUH10IuSac9VyBg/aM10b8\nCzUDybTBT/HFtaN7IgxaOQ/cL+Sg/CM5qzzSkoDnaaQoAm5xovjOb0eqNNbh\nNGT9Ch+HMHA2s6CT/Bre57PuQw8APTYiqriwtgq3c6nQ82VB6Ls7FyKIWQye\nW+YrNF5Il8EIRWmVM3UAxaz8J2gPR9AwmcM3EYYbO4a2oyr8GvNX9Dfadh5F\n0cMi+pZtIjBp8u9LCsi3asXFOCEmCXUg3PqJ5HzkfGfNhANBjqLn4exnK/Vx\nX8SU+P77JWlQO9LRLeHluZuE8/PLKSpZeV7AZHbILDlMmcgmGEb0oR948jEE\nZHVZiyJxitxcEZYXuhrhPd5zmPIm7gdWy7FhQC1LfVC83liv/I96g0VXISgs\nSQVTgJse6Cr+B0Q23M+PddrQCvvJswXerTAdSgqZcT6qLbRcWSN/MhJNbhON\n1L6t\r\n=zpJU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"48846e43a18e4a2713b20a39a9692be88124016b","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0-hotfix-48846e-ko89h1kg_1620025725818_0.4500299986307148","host":"s3://npm-registry-packages"}},"2.2.0-hotfix-f75ef4-ko89iizo":{"name":"@atlas-engine/iam","version":"2.2.0-hotfix-f75ef4-ko89iizo","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0-hotfix-f75ef4-ko89iizo","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"c5eccec026a304ff5d5b75f2454be60c966b4c79","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0-hotfix-f75ef4-ko89iizo.tgz","fileCount":35,"integrity":"sha512-fExmBpbLhZM4KXUbnjGfrtDqFg7hRzzzkq0XbLE9APGXmGxk/bZcT66ZpWqW15UGcTW67EEz4gwCNwbX/Eb9sg==","signatures":[{"sig":"MEYCIQCkQjGEc71MohiYwcS+cjjXMcBaQLm6IxZ3+wNA2cImLAIhAIs4IPH+jgoco9mTZjav4sIfV1gfgQkyDp1rvl2f+tgM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgj6HFCRA9TVsSAnZWagAA2u8P/3DuyV4/nTkacdlh6ShF\nRXYzDxzRtkBepLkapD2qSOQjrxb4MPaCcYSbt22xb3KbY3yW7uzlv2yqpvkC\nDWYdVBB1DtsNaDKMhu0k2U/QNttnBbY5OkQI5aDtV6lW00mXkHUVflaLuZdq\nvREzgAMGIdg+GUnTd/zkvvdxvKtbT9sULOVY3zikC9i4tZCmFRlYg9nWALGg\nWqqIiFGlF9ovoDdxhlJZ2TqBUIIjRHlc8gZH+LHPqcWwPX0FKUgC7kvBmbhD\nYXkG3YHQStCSvMj0em/X8Vhov9IMElc/grx/Xx65PeWHwLUfJW5+eXCOBCt1\nzSRlmyzZQloBq3Q4AJgbMJJwW+s66Ro/rnjlO9pIGrLgMpFNza3fPUYP+uTf\nWOM0OsdqfwL+kWICkSl2kbQNbG7CSQXU4uHA4Nw6EIzOET+30md9vo71rglS\n/AFzLZddOXvl8sOan7qP75F//mSbbm6ye+olRq+fS9AShgmEX35qiozvIy4P\nruhyeSgdKod2cEqc3+26OFHeUpGEtBHBftHXXG0CirQG6p2s2Z8D9h+wqxNn\nzvW3DchRb+ZLQofftOYbJyjoDY7g9MnKeVV8F3bT8CVTpHm6iwjwlkvUq2SN\nrSsJwixUKhMeFyGuMJ9LbejAOYjGMfiLy2ehF8zGm+KA94HHZ05dIgmqDsfb\nvqoC\r\n=iliO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"f75ef4f08015f0ece823caccda557e1030aec720","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0-hotfix-f75ef4-ko89iizo_1620025796946_0.6501072101089147","host":"s3://npm-registry-packages"}},"2.2.0-hotfixes-1394cd-kob959ms":{"name":"@atlas-engine/iam","version":"2.2.0-hotfixes-1394cd-kob959ms","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.0-hotfixes-1394cd-kob959ms","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"68b4251a2dd72f5cac1e044fc4a83c47063829ee","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.0-hotfixes-1394cd-kob959ms.tgz","fileCount":35,"integrity":"sha512-QISEElehRuUqHiYE/8pAkZgcTQALiZCQSHjueCQ/QwFXel1eN4QYg9+UJZnXw+cGswsZaLAux0LhxeW984E42A==","signatures":[{"sig":"MEUCIQD1+224jYvymZGRR8zozb8rIap5o6LAT1HwdZ6RS2k4rQIga1E5+4INv1DW1egnjzYIFIje1pEgDv8aCA9vPSu4BIA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkmPxCRA9TVsSAnZWagAAelIP/RK+T+RJ1WWx9GrSqt3X\n/L2DIXz5GGkDfBSr/YX8Etn121upPNI+hi0QAqLrd1Yf3qwcF7QjOtIU9yYo\nUhldhkhEbIXR9no+pkpB/R492xJHzaQzMV6rZVWeEiSCyceSFMhGt3LGJJxh\niAoiHyPqFGbfO3Fs9VAxcSticaklkR6TSwneok2UBTzWgTl9iqGyT/m874JW\nxlU+Obbf4EuNXWll6Y8r/a6tgvaQ9ntSAKaBT94/t7e8RwPLGE4K8bSI8Sp6\nxHS1p/Jhwgujov17ZutQU3bms2R8fyLdtr+Z01RzzQUdKXribkfHVCZhLJ2R\n6efLzVymzPoeTu+V7B8JC2qHKEYuwz4pur7FtJqEUbzMJxzfzUUvwjfMlroP\nljRzd3nHm8H3aN3bBoxF2e5k3nToI2B9G6IOWEsooh9Xh6JSUbtvSIqZ6i9j\nsnzLzHlCthzTHz9AuxrY5KCVwHZI+4EOeYUxD2EntYQEEWqvdzUchKXJybUL\nijvtf0LFPBOqmzUqWXjsELa5GofPIzJfpIoI+cHMv6md8SD/8WRuQqCVc9L1\ny178EJZw86DONaXbsSwHIDrVKX+42UG7pOncil+2doFlHGyO4Xuy7AuohCoS\n++9XlB/QHsqKTW4pcEX5N73b7okutWmMohDHlkjV6NcwzIJxv9wI5eJcoz6H\nSilf\r\n=OW+V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"1394cdd129200efe85eb787bbba15e42e600b6a7","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.0-hotfixes-1394cd-kob959ms_1620206576915_0.07443740470611315","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"@atlas-engine/iam","version":"2.2.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"64f4385b1030ee3cb17244959e665021a940aed6","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.1.tgz","fileCount":35,"integrity":"sha512-0X/LbgiqteUtxFBCDaaIZvp8HUJjU29r6JP2c3wtSGaONjjgZ8Q+Fzq0Ivi5TaUfUcGRoAGDfCAs+wgk5r6/2g==","signatures":[{"sig":"MEQCIGX7fXtbLRXiYUJZ/f/SiCIZzgkCZKZZdJQNhiT+7nxfAiAyTekYC60B8E9gO4WJSUX/N/VMjCN2OCPZ8F/5IYM0pQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmn2ECRA9TVsSAnZWagAACNEP/j9KIkLdIwPx/LwtGrTQ\nsIoTftqjkPLV7cc5Z+eKT0xrcpRF6PPJkpMu2gOTnf3ZzOF5/zNqN9jSHhqb\nwKqrFf20NYeLKTo8flxyQ3XdZuVBuvnGXAZXKKoT9DnGKCXwsCpaD2azOUth\n6I8S7KQtCUCcrJKDcdLuEHI2bazGWVEcIiKURX8edufFeOgxFNodvRHIXw1q\nAd9uSB+Ka43LD+0izFTzBvu8YYfgHYkaYUiAyd6qzXfXKRMUmfWJXiaBu8px\n72HbtSvhU7Hm+B6wK7G5PrsgT2AnePsGMvsaUpCOCFEjh9MQaqPNzQ4D1boN\nOX1xRO2VcdY3gXMvYxxcBxevTKw341KNiUNZFCJD7jM3xwZeo8Q66GhmBzUc\nl04tfiyD2ED3Z7skYjLxV9V43X5/BfriwskTW0FgKHqy2HjKIfiku1n53j+G\nvG9BoHd9AZTz9ubExQhAsuevw2JMDrJn90Hp5yChUtwDE+e6V6xmzLo2EFIO\nAPVb7v/H4bwW7ZOoDn6c7J1oElE7geNB7G7cwqOa5dI57ftbY1pItl53GN2w\n7J7DlpychHyijWq/0du426to9hEK95aApaUT9EV5oH3Z78V6akEzK2p56hJx\nlkgngGhKjKDgWqko4py2TbVaOtNbA6InlF/DpDDrc4AfCJ6Q1Hh7B7O1T6tM\nZO5f\r\n=6olG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"0ce323493a053941d53941e97151ec3ee60c0c20","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.1_1620737412111_0.8347553230611622","host":"s3://npm-registry-packages"}},"2.2.1-hotfixes-eea604-kok170ul":{"name":"@atlas-engine/iam","version":"2.2.1-hotfixes-eea604-kok170ul","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.1-hotfixes-eea604-kok170ul","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"e07ce2200d46b11738bad90089a3f41064bac45f","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.1-hotfixes-eea604-kok170ul.tgz","fileCount":35,"integrity":"sha512-yDGcfNeOHh6TVuLLH9t268apH4i4msjzaYcP6B6IIP1g6DiUghT4e5uyi0vzNix5wL5TVFdEEkan+NyasJcmKA==","signatures":[{"sig":"MEYCIQD1eVVVWDXvfsTIargYOQixr/p72S9s7n7vTuPky0lQKwIhAJkIPHX8MvR0gXzwgJ6HQ/75tfP6/oAmabpaOucC2Z3L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmn2MCRA9TVsSAnZWagAAaJcP+gLXGlbWtX82pR3oHLNv\nYRYe/KdUatq8Pzxj+DiWhOvhnD3FJKrxRLX9vW2HNPiH/x8QQEioMj0PWAEi\nRcovZq+R+s9lIXb7vOkJ332PeyHMxaUCqt1jwKhjjLSgyTwrdeL1xh1dpery\nFkLJvvV73Xff4rZ/stcnKh/gndsts1nwS2Rzto+gq9X7qc68EEiV7mluc6YP\nvuBx+TecSXoblZTXsXoYz+qWVT1+TjeyJAmT4WcORCkOdVOAVfLUyDBiD3s6\nxmsQ2pWuagQcIyphgoBtU1t2pnaWZv/CVO8M2dsoPaY++KO22rBfSlhL6Qs7\n+QLm+g9EK5C8IyhnhKMnQk00PgNUADg4RNCepE9LP9+0I03b983MbAw9iwzy\nx7ykLX31VYKRuTHM2Wkgifzv9R5KQBcaK8Bh+zKeMarihU77jGPxQVFi/oZd\nA6B0VRJbSQZoxIFj6k10dsDIkMOG7bDO7tBWaVJ8xai7+WMLR2idQP+B9yi8\ndL6KphNmHkeJqZGfyfm0XeouF3v7E0dZWraPq/vj7LtR38LOTciPymAyjanI\nF5OI3arcLfrxpYGtnrEo3zwxTDCpIONk8qGlPgNJ6KUYtgBKaZE084wEuLAU\nr7+Je5m9Bo0ZFJDa9fehw4MaKyZuTz7HF1MIAoDwYprTZAa/Z+8sR1zrFFS2\nlcyX\r\n=MdAd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"eea604f2551cc1af24a2b9585a495e39ac6de649","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.1-hotfixes-eea604-kok170ul_1620737420207_0.8124342009383496","host":"s3://npm-registry-packages"}},"2.2.1-beta.1":{"name":"@atlas-engine/iam","version":"2.2.1-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.1-beta.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"b34b6681b389b3dc57435ab61b3956d18b77928b","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.1-beta.1.tgz","fileCount":35,"integrity":"sha512-eQBwMyE8UIpGisEnx+OcFkmAITZCjH8hPgOscLYLySc198O6HBIcf9hkmqDmJiayhD1qlNeOsIEJjUvq3A7n/Q==","signatures":[{"sig":"MEUCIQCVgb0BbPVCicv48ZlBpjfOtrY6TDNKk9g8kuODRGCZ2QIgb58xxgWklVufH+AMNcIJOobZXOT1Nst0/6UuMUv5M+Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmn2XCRA9TVsSAnZWagAAjKUQAJORu8x4/Jn1roHqeLr2\nMfigG/B1N3Ba1iIOWRxzLxgax9OkSzrkOx86zE3nzzbYr/3LkW7pqaZwXZm0\nn49QnGcj/GS8rBiqwPS4wK6qYG5YnHG8zLGd8RSHwHSCNh8oLkQVATg3kqW6\nd5Ztw92N6QrfzHTgxUdT884hukCu722P5KX9OPRe6xHolIL8KJGECXDbehVz\nD2+xJu+w690HazufipktOrUvltPeyPnDbtOuwnO+XkT7pEvrauXUgubyELvZ\ni5cqh43bL7P9szq0C+XdF0+jNm40N05uNO/Td6ja0+XSY8u6uvnvAmF6n8l8\nBqrY4xDxqf8FooHJ7IbtDb1qYwYRy0XbwvwVkp1nPMrK2s1soTlV4lSP2b9L\nUTyFPIce26EVSX4xlI+PedJKU/8dVqkR1CYzV7iyEtih9IFSaTrCZp8sWTuW\noUzYsb6hlhOvkiCkQ475JEIyE+xK/f1/qquYTk6TY3+wNo+geg8iICM+ehUo\nHqrp60ncTuSlZTzmXHmKubNYvf7fHZN2/32fgZtUG9hC+yNUS/YImHbiAj8+\nk0DTmBaXZ435/m/l5V15Ol3kCwJINyNQ1sqUM58NWtHK2VNHG6P0/pph2zcN\nF46w8taWl0v2J7sFDoAsillkA3SBFPz/LqapTOYgvTM+OWfiN78dGVp1Q0cb\n/Vs1\r\n=RTsj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"b4e33d72adeac82916caf4c66d94da19b74404a9","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.1-beta.1_1620737431439_0.4152746246044685","host":"s3://npm-registry-packages"}},"2.2.1-alpha.1":{"name":"@atlas-engine/iam","version":"2.2.1-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.1-alpha.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"93b7454e86aebb8f97acc71fef2834aa81bd4aad","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.1-alpha.1.tgz","fileCount":35,"integrity":"sha512-rw19i1NbMkAQWoiBxfDMBbJ6U+YkSn+frIv9NpNf71xFP+HFB73vG/1K4tu4BQ+7OrqehSMRn5OrQs1z+qraYA==","signatures":[{"sig":"MEQCIA/hIwol5o3p2/rbCD2C/h6Jlw+KRSigZfkYYd5fpBLbAiA3K1z4BUeniUhqVmb5VWKI/Khe12MKA9eZS5e8O+7aNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmn28CRA9TVsSAnZWagAA4IkP/09UbSzGO2mFynRH2tWG\naru4Y7mBVoO+q22zzv3l3o8chJWX9eMfuis5DC5S+rZsmEa3gXWjaqISt7UT\nE9NSBNGR417rZODQ+TspG4mdFu3HkKxzuf+5loEEmz3GJatvH46Ua/XFmziK\niwtAyynYY85FyWdFd79/YONUaNF2MvKJlZXmBUxGI+5iAMRJ6rCFI98cnio+\nT2FoIPjo6/iDXZyQxUiLvhIUDFL45Ej90LR0TdjV6yb0nzvZ/tLOh1+1BJG/\nhtDAWWasyTjEPxcdR1ZjhFClKXk2sQsdTBlLUVeTKSCXjfa/P2X+J6TzdkhL\n44EIhrySyBfCXFOhXVmVVJFonOR8aJL9cKRnqd6prddYrhtnfdh/6uzSqJIf\ny86iNJH4YpHQxqfS5keg+AJw31JhPFTN6lrU63ozKXOqFwt8I6cKvi20NFf/\nspalz5GtEK0RIQ0Gvy/WjDCIzLHtp+gTCR/TYjIaU2yj2mhdFfN3+oFF4dnO\nBf8P48lD8QtKsxyOij3zqNWwNyJGTvR6+2M8lMuaTU52Bym6lc9oHUzgNwnv\nA/JbgfLnneA4h+Bjbq9Z4OckwQTv5WGESFRSR7qGg/R4phJtNs/1IZIgbFOJ\n0GUSn3Nv4OyveABZNnetuh6lnXBS7fu2Hrox3vAOFHovfH7FBfFPDe0JPIAj\n1hpk\r\n=xsH5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"fe2123f217aefabb693413f27be78600a3fe545d","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.1-alpha.1_1620737468023_0.8552205794608885","host":"s3://npm-registry-packages"}},"2.2.1-hotfix-ef0794-kqgmvdry":{"name":"@atlas-engine/iam","version":"2.2.1-hotfix-ef0794-kqgmvdry","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.1-hotfix-ef0794-kqgmvdry","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"690c4f43e7377acb86579cf4e6eb5f3974307a22","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.1-hotfix-ef0794-kqgmvdry.tgz","fileCount":35,"integrity":"sha512-yI8i4ZQ0ljnEtfiNprZRxTMQZMcRzTtKRBzV9DzsgTI5p3X47Sd5PkyUts/UOPN8BNKBZ8c7Z0YaZCliZff7IA==","signatures":[{"sig":"MEUCIQD52CiVYc4k/lRSCejnyTcuZfoPMhWAIWcno9C4kT2TLAIgGG9olZguEO9LcQlcPfiI1UfwhqJqQACULXz57eImxYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2ckYCRA9TVsSAnZWagAAAjIP/AyiZKhFngj3Ev5uG5UT\nPH//cXG6JMnTF7G7XMZchAD+8p469lcv7Td661xRABsOIKpQQXT8Wy132VJf\nKSrTFE8/nCWuADfD+pPxoVa0POwOIjZamAx1pWQUAeq+R2CQJlMWP/kjlF+i\nRKbpwQao0OflNPkXdj8eVBzXNX1mBkbKn2Adwqxt/geFr6GYTCEqqju0A3ex\njSX6ZfDbBY5N/HJ5aaj7TGa6agYOXJdYJALTnguqmQn4Y7YAtWBa1jHF5Htg\nx1noxhZjetaLGl7RUuG7Y2gjBbBkWhdlAuhWtJnivWJiRcxYGjnc2gPNUtkd\n25c1g4vwEpi8vWIe9U1HTcgWg7FJKhi4dbF5RuIun5+hJ7GD02qh1n+Y3pQD\n4A1V/HNqJztoB0s5GjdFnv2UI3qP2emCFEnyH9gR5m5gmt5YwfjGDdHJ56Lk\nNDW03fFtOFe95Cd1lwMgeGs7fjM4nvDjxhLFLSD8HB1m5tzwf97UVPkkeuUw\n5CivXP71fKyxV/gl0SFD9PZuF5eqr2CT0xb73aXPTIJIL8WeczMcs2+zM+tP\nrJT3mIrVGFr13GTcDxW5DtVuN095DU0zTaEHyLtgr+V9dQmOPxrC99oEOnqS\nZh2eWwb/tFu28kvoDrbMwLTHN8R7hrl21NU8prUAZxp8c2vA5TjyU7R8i/TC\ncs2X\r\n=BYpV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"ef0794fcc152fc5f25898d5bab08b5718fe393a7","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.1-hotfix-ef0794-kqgmvdry_1624885527770_0.844186657166526","host":"s3://npm-registry-packages"}},"2.2.1-hotfixes-b04a3e-kqgp11va":{"name":"@atlas-engine/iam","version":"2.2.1-hotfixes-b04a3e-kqgp11va","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.1-hotfixes-b04a3e-kqgp11va","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"5398ca510be0f082b0e80190ca9dd13c1e25cfad","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.1-hotfixes-b04a3e-kqgp11va.tgz","fileCount":35,"integrity":"sha512-sZRIIwJMwurBFTk7ex9xeGzjb2IIZCK4jwx+FiM7Nq+7XyfpXMrYxG87Mwww5m8TWIv/cCY22xvIXNBZUFWGIw==","signatures":[{"sig":"MEQCIFm8xbODsJ/bcOULtQRctuq6tiwQLTPYWuN0oJHUlIfmAiBi2Q3ux0oSfIGderj6OMf4AK2N5XSr0tH/aIUuXjvrUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2dc/CRA9TVsSAnZWagAAYbUP/iWhyJdZtvOZiHR+1f86\n9pWeCXSoRdzRO5TAJ1S9Pyu5WjPNn5VYDyYLrN1pzkUCHqbkhgZMxLlMLSsx\nFaQlfrbmnql+VRZSznK5trrxMJ63CYnMIq8SPdAquY5z1rvPWdRg4BIjgFlR\neRD4AJP1bbCneCRFhmzhGzOtO7VnyU7ObsVEo7MNfXhgPEtwuTsUf3ysJAF0\nirrjoAK2/EFKmRLMuNwapLOjYB7PO2DEDT9K5MXWAlBFPaT1LCBGHP8M88XQ\n4Bjs4w2oNLFV7o8/7Vz14kpWWhif/UAbPSoc/Yjhe7aEbvS3E4ovNg7r8r5m\nI7HOSluDchzu1yfdBwqNhZoavrSRpBkPs06YAkknTdCND25+boWw1NefKC0H\nLVOPYOC4mleaCcJpb1ChD2KKrdD2OtVEV1+VpdtNBX1skeJ0rHxlKs4TsyB+\naEMwMwD7APid0iFhAsxYGUjCCsgBHuiqqiL7XstZTRxPh5e679lsQdggQygZ\nPzpaaaCVkvp9/v6K5/GrvomdIPny8T0o7NeMHurRf6WkOcuggB3geOPC5ixG\nO2X4tBbco2IFrq+oDAaVEGjUP5JPuFPyGFFuX+KoqP2zYsrqwEXZfqpH8j9D\nPvC2F21olaG/nOXmJjsrYtKmnq8UUOfx1GdWvplBCC4CVZ1AaM0OZ+ZiU9qA\nLKbW\r\n=H8CJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"b04a3e51a8a9997a93191f8395b48778691aff95","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.1-hotfixes-b04a3e-kqgp11va_1624889150837_0.9156104764150905","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"@atlas-engine/iam","version":"2.2.2","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"f81a765d6d22dd9f071a0c506b3b7f15f5e7c627","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2.tgz","fileCount":35,"integrity":"sha512-8c/Ga/2DZ+VMuOUlSIXOlNCPvKoLmrIt24JA6Fd/DFmEMeoOnBRpgEioxhkkCqu5F+pbt+2McBwJtu0RyyhLCQ==","signatures":[{"sig":"MEUCIQD7h6LUYkYionTDLOEwVNwKGNF3qLW+zaNP5uwv/0KLGQIgGeOEAplNMBaUkMdGLUgEa70l5oiiEDAXHxDPKnLIEsU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2dgKCRA9TVsSAnZWagAAq4QQAInn4AUIHK4xmGiuEofp\noyAFmf0pgXD/ETVVkBYcvfTS2RfNKs0UdwchCGKiyidQDDFzCZzH360fBi5u\nDYuXLKUmaYW+dRzCuQ5biCTHB96Q8XAe09+PENC78yCbZzllFbrqXUv2vKA1\n5z4sRmMMOEsl8tZRnsFjiVyv0NVYQEgYA8dwi0DDx7w3CgXMt9YyEJL/5yhl\n0bzwpfZ6CSKxd6hdN0pBy6E0XYysw2Kxin3uwGaD+phuHf0Qz5XMRwRDnNh9\n+gUJA6tqxzUs2j8LXiD8jiLJSA4jYFfcKVi4+9limkjg7sXLZKbsB203ZsJX\niHZP58Fw4qLJn5j8yF4PKJOlEbiGaDYU49f/gUG7c68reSQyHVjnvbGsDWIl\nR9R4P9SgXLpUY1GrMjAIYoV0YeqgboBox6Chdq8Xihzb0QSiUqVwMoE4TkrZ\nMBV4joxsXDVnDiiKhsQjKWZF6EJK6akkpy4PfxNTFdLO/sWYm5g0vXrFf6Rd\nB8lbQ2RyLggX7NOxcw+FEZXTG2Ooxh6Q1nz24tTURiiLmSWQ1zAMN5GxwL0c\nuaj0d2n8XKFSDB1bRELE8atzlq2luOpUVz3TOw5X1E874F4jLv7NlILyJ52C\nrHoG/+Zg1dqoXmCWUCCM7Uu2H6/WH/1YJItVEdA4CZ8D3RQE/lA0EexKHYnf\n7MkL\r\n=7YVG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"4db496e89cc3ac38ec12269671ab9b863c567ec4","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2_1624889353588_0.1610603999539224","host":"s3://npm-registry-packages"}},"2.2.2-beta.1":{"name":"@atlas-engine/iam","version":"2.2.2-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2-beta.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"7fa14b0cccde583a6caf3833daec91d293e7a966","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2-beta.1.tgz","fileCount":35,"integrity":"sha512-4Ll+LXTjvl+DvnACV8aq6jGGmaCBdNabQ6gH/CTgLnw0mQMsso2fip9VcCsSB9yyof/4jA4QnLN389ur75vMfg==","signatures":[{"sig":"MEUCIAMaqpRbO9sX/GOCmpJXkKx7Tf0wfIHajYT5uVRrzeGuAiEAqL6cF5aLugJgyn8klwH2456qluwpfRJaq9Sg9ORxjxA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2dgQCRA9TVsSAnZWagAAQisP/3HPvq2dO+6HdCN0Aq9C\nuKYykit7ZphdLfUAcSwuymqvk0BIql7riQQIfJE1aPNf2y2OdqBx7kESyS//\nwqZxEfy+23812qBkdyxKN3JSSoal9DJw1G3i/EikwCOwty7zvEmgjCrUxzJa\nmyFO+l5qeCBHA2zGdXlQg3Zr7cFsQeZYdU9pZcsNcxX6+1Qq2vSfrPu0oXqj\n1CIecMBV6Dcp1Wi0cSezo0haWwZvmHCfGI2WwEOyCBh+4JZ30UmzsZGEWdBy\nx1D4LJM1B1gUr8GQd6aLJs+iI+ivM2/3dtZKflaEUQtnVTAe1yFPE4t5jkny\nIQR6zaoYS5m3wYX0MY0la2uVdobV737G+iyE5esos65hhJ4mduJMfjTdnZTs\nv2mE7XsI0akVLb+IHOr8g0iHe6EucpKoKgWBWnCbN7A7XCt3ASthY+q6byNH\ncZt+3IVgp9IlBjt0n6qevTcOis3kC8voefvsQ1JvMK5nsmig5KdOU/puVUpD\n5ezYvXuDaBad0LmzpwiA6HH6rfJjI2uSw80p8MZ3x72t7IL2esNblyQmfjz4\nRQw6Pqh+uiZSD4AjYZXmykX0haGV0GNtwyuYSXRZ0XgOibwd6FepOuFqOyPS\nwdL/Ma6z2sRJDIltMFa+8Uu2q8TRL345w7xZoLHkl5ega0PGYDElwEMakKnj\nMa1g\r\n=WE7s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"865e37679686a94365a6edbd30947cf783fc68bf","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2-beta.1_1624889359688_0.8045749508966595","host":"s3://npm-registry-packages"}},"2.2.2-hotfix-c2ce56-kqrthej5":{"name":"@atlas-engine/iam","version":"2.2.2-hotfix-c2ce56-kqrthej5","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2-hotfix-c2ce56-kqrthej5","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"063a46261535b4562e5ba7f40ed98c6d57a66dd0","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2-hotfix-c2ce56-kqrthej5.tgz","fileCount":35,"integrity":"sha512-iB8b1L6dxTteGplx+bFnHNJlo6KfVAY106mgtQKETPrh7ODkl0xh6SJ6ilB4OE8sFlle2+s6igYIn2PprKH9pw==","signatures":[{"sig":"MEYCIQDMzDMMU9XEaN2SJeqJAKGvZ4CK6xCDLt+pxPSEeysI+gIhAMK6jSsNl68FTW04r4NJ3H0OhIGipyy8A/Jr7fvX9cZG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5BqcCRA9TVsSAnZWagAAOtoP/1N4iOmlYv4KtPi/nOb2\nQnlmcwR7TjAVyD56OsDMaFrumVF7yqoOQlde3i2A5qo/I8itgPfyn8/lg2Gp\nsm8q089j+JDSaKskvLJM3ok/0Phz+llnmrFziRjltu5HVJpoLj49Kc6dBo66\n1jYbI9Jd74a6RLxGig9ajREzUAG2fcQBkyymRznWnUnxnbcLCr5effPpNKQI\nKH33V/8WfxhuJZO7K01RcyDFCzC3yFN66Dqs/BmU5yR4jAKsQ7DNCDuOL2bB\n2XXGMBrxeyoGt6Q0usPHez+5C2e/PpBiLfXDGnc0diC0Q9lTm+1AnDdSoIxL\nlVZCYI0CzGlGAe40Vl0Zv3jjA6RRc6fbjq+M99uNztj2FKnWNjNBXJQyQHf5\nw6dzgsa88ILd5JQiivvuAzbK3xOJ8eIlgcvOimiKU8aBjO7TLhF1b5nm9cJY\n9S8T/+u62H/HsbznD6ehPpqNkmV5WnJ7gd1oZ3vQxj4rDy1dn70rPbboprMC\nj3DC5bLHs1j5RjxqPlbmC6AByvmXlowgn2fc08Lh7gTH6NDXJe+1Uq/7mozx\n7xk/3Os5QBYYV2//vwgeMeC/ExnEWAiyGGPdbnBa29DngEgpHmmGhYPnW3sE\nbeWMjHFM3tKaDEdM9ZnT8FFLi3H5Tp2gmVyLJlbc/R2Ko8Pz2A/JpaQAVH5b\nqsdY\r\n=Fyve\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c2ce566f131f7a76f696ce768fef15a3e932adde","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfix~fix_parsing_of_environment_variables"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2-hotfix-c2ce56-kqrthej5_1625561755990_0.5640172133002261","host":"s3://npm-registry-packages"}},"2.2.2-hotfix-c2ce56-kqrv3go4":{"name":"@atlas-engine/iam","version":"2.2.2-hotfix-c2ce56-kqrv3go4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2-hotfix-c2ce56-kqrv3go4","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"2045358a2233aad6c0d736a7a7fdf102a9d495f7","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2-hotfix-c2ce56-kqrv3go4.tgz","fileCount":35,"integrity":"sha512-WFDjG23kUUDJ2e9DQBnpyEtbwENgnzmvQYYg2uQDtb1GHCmcGu7cV/jgkViOcsWw0URQKyGDS16NpqSqr29n1g==","signatures":[{"sig":"MEUCIExc5h/aunoyDhlcFQZPYGolTPCFuPOjbkZjbxKQqF76AiEA2Y+PZHfPideXKae1i5X6Eo3cNWzt3fNWmjZTjNd4LP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5CU2CRA9TVsSAnZWagAA85kP/j+vAyHpeuXKbR5byLST\n+Zluf9qYjf5dDckXMTWAvghv0oimH09vKQuPyZfez6Aj76sNtC+jqIhF2z7r\nYBU5epqLWVrF7Pw8/w55qvZyfKr9XfSIj0jMWZv+lWwKrA/g09hGm6iqYtoT\nn49Za3+NNg5bwDU9bx3MDA+iJZ55JqO2nJj9Yxn3C/wbxcNLbIdVp2Rhqlct\nF9TIOHntRN2R53da6Dniq0uW1NYLTeey2yKPGsXy8+k0W1q0Dyu1s1GM256j\nseSUDAnbV+aNNYlijMvw51jiCgMJ8DIWG08+J6f94DYqfo71OTX73AFYoVwZ\nJNozTH4Hgam5o4mNRA85GhkDucrA3J6fCKv+j7ur07Ma8Qgqibgo22tb673+\nfwwBzRFeiUyoQcn5XSRS3EV7/l2fH8Ff0MgknDLtKph0z/HAgzkFY3Nz0qg/\nOVXA+2pB4rlXATCCJy64Mv18kQKIhKBYBeQ+x910hBJqtWpM/Qj1hLrXYsrQ\nOLHt5t6boDCWhLEuflZ/tYRO/N+DlnYso5ST5P3ROAr3wnKPmFtQ8Xgns8xC\nlYoVNYOsYuNaS9wEKfGI88GVsyvDSpzSjFh5tUup6020qTo4lJ9xuH14zLRa\nWFPwFo0QZNj6McuJBFbsEfZn2dBdGHEEbZM9nJ4lmY+tzmrEOZKYOW9uqkOU\ni+2V\r\n=dET9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"c2ce566f131f7a76f696ce768fef15a3e932adde","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfix~fix_parsing_of_environment_variables"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2-hotfix-c2ce56-kqrv3go4_1625564470514_0.09906096810917098","host":"s3://npm-registry-packages"}},"2.2.2-hotfix-28de7d-kqs1qz1l":{"name":"@atlas-engine/iam","version":"2.2.2-hotfix-28de7d-kqs1qz1l","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2-hotfix-28de7d-kqs1qz1l","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"94eaa74082bd3ba97a24b875a70f74c8a25442c0","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2-hotfix-28de7d-kqs1qz1l.tgz","fileCount":35,"integrity":"sha512-q0j8AzYaUUUEZQCm86+/mwyHVCF0IiVO2evSWi/1MIcyTNomkIYH+ICiHFobZ2k6ka4XWejJaOcPmHGyDgS0jg==","signatures":[{"sig":"MEQCIH48Fk/0CrzwLTULHNw6dhuHkKibowpNPtl/FxKwSAA9AiBwcbS9k3/GmgGjDLqqgdabH7KZZ62tkT+6uqFUuXz7/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5FDYCRA9TVsSAnZWagAAsecP/0WhNP9U7n35kQzavrE/\nXl0Wr6WXsJ8xKrS3gNzbHeb+4v5PTCVFO2QSKAqSBrFiKkHtMKoPw9ItKhHZ\n/e9bg6JEE9jKD5Zbs3U4bAM73DlKGUX02F6n82U7VRzXp7PPoV3yPkKcwH4/\nCUmkPCluphYz5XahBzqnh6nxlOFBr4Q0KhvMqkXVRoIpj37oGkGsSdtbU0pN\nObAWcATVNJ/texIoiXRF7QKAp4xLoYw4jrFCBVXbVEAJu9E4wJwwadejf495\nk6n8sK03URSt5JNvIGPt4d6Irvp3i4bibx23whuDY8monsMz/C7zSCd9QFI7\ny382bd4T4efB6XjBCz0t3UzpPaFuIowImg7uYsmxcAtJKVYk5MOQ492xVCCA\ngwNobHmwtkhUtocsbA/taZtaMUBOIFVLOWpKW3oPtzWXQ0B2sb+OBt5vpBwr\nTQQGscLuDJLk+mIF7vwr+zgwBKTHqngZlsbzj5vQqqYc6R6ClCxfTtFg+ptJ\nJd/CaMd1lLwHzbZuC0UYgUvhVPAYNUDZiccdWerr7gcg3du2KT5/mhJiQ4ea\nKyFxZZK3eaTofmRmIQePH/lw8XkhApobDRO94/1pQPVJnyWbbCiOG8vTvVa1\nWbk1R7Q0HcikpwHJ93Ysw+UCrrh9dTat5X39+y1h0pcFN6P6pRYOT3kpDimw\naAoO\r\n=5DUK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"28de7d3c4acc7f58e18026d7f6bb0644e135bc74","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfix~change_default_port_for_docker"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2-hotfix-28de7d-kqs1qz1l_1625575639946_0.37694256950763294","host":"s3://npm-registry-packages"}},"2.2.2-hotfix-02bc3a-kr1ssq45":{"name":"@atlas-engine/iam","version":"2.2.2-hotfix-02bc3a-kr1ssq45","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2-hotfix-02bc3a-kr1ssq45","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"68d7f32ea94911e810072b27213e3cc894930eb8","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2-hotfix-02bc3a-kr1ssq45.tgz","fileCount":35,"integrity":"sha512-Aam7Et70lZ6Iq2C1B/BvJwW8xmAt3ZqzpY3OUzMtq34GreLyZ5iVJG+xcHJBf4AXQpsQ4F/PvTkZNyHWZQMSwA==","signatures":[{"sig":"MEUCIFdWQmUn8WmIg4BIQsmUuI3w/7nw0aqEPHEqQZgkcKoJAiEAgdr+xSRw7l+8IPNK8+1HoDbpyohyJjiTCPg1KZ3wftk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7VAUCRA9TVsSAnZWagAAQfsP/1aWEpUWD/L1LqwB4X7u\nKbPSmatXEq/i0WX25IBvX7F8Eh18W6E284Zr3oopG5jptLgKQ5j1gDr4yQra\nFzMID58GrQPwUFm2qdG1NFRRYgCTwlShdOXadzBYcOub8OXvMEE18kQd4g51\nrrMwPqM7mTxQpSdnX2bfJ9+mJFJsRCt0apppLt/jiDv8/fddQxlCWEkCFDF8\nbLaKATjnP1oPQ2elGFXNd0Fjy0tgVN6M3uURflygCoTc5+yEHzr9XKTJuOR4\nLZ5zHosfHXHVeTeshWTfaR8LFgMTBEEWA+G0u4VFoB8d+GcnHky+FWng5eSa\nzML9u6aV14EBuRl9UUHuwTQgRsKp42o+hp1I3LltSc/PXBtu+jM8m1FI5VxG\nzU0rK8j2s9nSp9PKpIRW5ExjU6M+3l1I2NqW64KI76mfpuk+ZZBlhSdq+amq\nueDOPrWeE6kLEn3VQx5DSAL+LVrvM4kKC01XnrOZWnHn3i4sWJx+GK2L0NIx\n8T9ZIK0w8Y4FEHgIOMRIOCLOWs4L8SIybAg1cGAkeAxzto5T0rkUngCEJcL1\nB+w6TKHt9yJrdARWLx01qftYv/9SSj8RZyK/x7byW1JNfHfQlqjgaK5vY9MA\nSiO1kLFfmjqlgmb9O8AlvR+Fvnr+V+OfRQR5DtwNPC1zB/fmtBNN7sZoMWoT\nPWFN\r\n=O08f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"02bc3a049bc1d5f6317b86b93ece88cdd946a3fb","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfixes"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2-hotfix-02bc3a-kr1ssq45_1626165267594_0.6084560016857128","host":"s3://npm-registry-packages"}},"2.2.2-hotfixes-541960-kr1t3ksp":{"name":"@atlas-engine/iam","version":"2.2.2-hotfixes-541960-kr1t3ksp","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2-hotfixes-541960-kr1t3ksp","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ebd985f3c9b8eb105c6e7e930cbedbe064a9ad6e","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2-hotfixes-541960-kr1t3ksp.tgz","fileCount":35,"integrity":"sha512-ccCFblxlJm+DcVyqzF8ZRrVe1m6bsm+PvVMHS4sYkb51GfuOQD5fw2/7HDYdq9yKxN8iPZwLWTtBWwsL+WmSLQ==","signatures":[{"sig":"MEUCIA6gaYvLD/LO6Qb40gmg9wzsDK0o+twtwSeSCwVsIp2MAiEA2WUwI1lbFu2pUJItkPIPog19UWdEWsDd4bFsMSVidCM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7VIQCRA9TVsSAnZWagAAYyEP/2zmrdfw9aI4GigmNeS6\nZja9MtRXuaGpt9qiYbBDfsyJ8bXICKHg1JcTt5P2VcjtHB4IEsWvG8xuiOAH\nUaPbrm8XDf8Pm2lsj8NL6Iu9rk4bB3PajDylE8rrx8Mko988iTmwK6PmjKfJ\nCluD8v5IL+TGhNl7LGMeFrL9Vq4PD68jSHlXQs+ujZKPjB6F5yuO7sGEbroM\nBRr21YQJQ2gBgvUbTg+ahz5tZDA25mFRv8C4L1AWdBFoz+E9/hpGDLlKxkvZ\n4ZmjKnPA00YoM1+H/WuESxBPi9w2yMmHiJimMfwqO71tHA3KmaorTcd5dJt2\n3Zn4o3gUFqGA+Jh6C39H1GuGflCsCCm/O5G2rw6RNTklOlcP0e3GMSOBHAPO\nKLn+TRc1RjjeZraA4FktMA8imgKP7S9Bu6YeuJ7I7GeQtKJ3XgI4oGGWf4AL\nuPBKwxlR7R3XDQxy4TrDAn8HNveCYuGub714ncWf+ebh9cpw2LhwWeYbCnyd\nVPmUKQrwV0z3vOY/L3+PsjFccUO1ym/okFdWsZJyEzjg7nQS2qcM6D9JMSHZ\ntpm4nTiBqqBxhPgPimnXkPYdHYlc6ZMuuWNkjFqKjq8SJ+tTMhx5czfWyJA0\noFWrVjPt7AjkkvEx5j9/UVJC9FPKsDMgvOl4mNgWhnerkR6jDGQBkTlmsim+\n1NHJ\r\n=VdU5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"54196033cbb79854389647411ae204f0dbafccad","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.12","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfixes"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2-hotfixes-541960-kr1t3ksp_1626165775985_0.7464782769422995","host":"s3://npm-registry-packages"}},"2.2.2-hotfix-485878-krac40jl":{"name":"@atlas-engine/iam","version":"2.2.2-hotfix-485878-krac40jl","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.2-hotfix-485878-krac40jl","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"ca0e7e83e40943291ab0ccf1de53a46adb7448ed","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.2-hotfix-485878-krac40jl.tgz","fileCount":35,"integrity":"sha512-XjgjgVIWaVM7MqZU7RqQHLpFWBAx7YRWPyMn0kVPvoAmMc/2z/THgfNjGctEA8yXQrb4WoQ+cShBHRMf3dR39A==","signatures":[{"sig":"MEYCIQCZ3LVtb/AbQDE+irP6Qro83w9Xa7/6n9DjxYPRAYuU9gIhALJLKfO55bNRCvrhzblWauSiuPmLVoWxel7Twh79YfK+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9TBfCRA9TVsSAnZWagAAkaUP/0UrBIFQs/qp9fssS+OE\nPUt2xI47rbZbJjcOF1MP8IoY4oZRJD1XKKnFvt9w69bciTEERT7SZ6gD0Ph+\nYpka4dLwhhR1R7oCFaNc8arihOmcyFXnd/MjwQpg2wC0IRU73uGOpqcAAsW6\nzF2TiG+aLDTc9wfo/0k6TB/okvBuqjSvAdrxR5nyOn4loxfVCqzm12TLM+WX\n9sL9vXDJhFC/Yv5ni9me7bUXqstMNFRmNOAhdRtgceWJnQ6tmweK3ayefGUh\n05ihRF32jCuqHlX8fu5Xt/F9NsGIaINOt4uPCdAoohGx4gWM72rqGjn+Paa/\nRDCATf3iaw1kQPeiDBBoS3sRsj9oHxQciluOMrz765cqQ9UHqkP/rTb8jx+y\nVWpqU2SLvIY+b/lR6y0tb69kC4WU09ZcNFLTvVytW3WKqrPyFQiYE1QaUCfD\nETUUQpYhjzQCGyhnehMRu3+csU/ZwcjcbI0raOW3aaN+5xPtcayrMp3ENRtu\njig29rx8lH34W1wevoF5woq7pa2ZYECeKTH9vmkcddhFI4qWQbF/G68caoQr\nRDHBJmtjxUll69M8Ibs8jtISKV2sO/ktYlTZ4K+s/InG7/0f9w0tu2CNl0B6\nuSljHAvQFuKmsYC89uHNx1aDMSJfLhRcDFltmUqTOLw1iXYzUZ8S4heE2gQw\nTk1j\r\n=2bZx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"485878b334c129def02109f9b1c72dec5e7079c7","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfix~change_default_port_for_docker"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.2-hotfix-485878-krac40jl_1626681439031_0.6784599274658492","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"@atlas-engine/iam","version":"2.2.3","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.3","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"c1ebfd2cdf6f8be72d7cb2e1c5761a3d35428bc2","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.3.tgz","fileCount":35,"integrity":"sha512-TEJ7JJJ9d/EoWJ4d1dtWeZRMR9QtYJATOAjweh4ysKnl1Rjkp0nmwJG5sVVRgIDM/RQjHnmHVu8DsYP8Y0jbjA==","signatures":[{"sig":"MEUCIQDC08b+PIXgqKOEGolJ8zrN+Gh1n+HVE/CjUqhNWT0O2gIgNcXeaqCgya00SWa/cSpcfZMiyjJx2P04apkKeckgPQQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+pLbCRA9TVsSAnZWagAAUMAP/12eCwyY0gcWuBNTvmm/\n6BAtU4YlZTbUJ2hvWwySBTZPoBEO4r9R7Jxv4OhEYT0KMMTXMbRYDEbCo1KP\nms/Qu3ezNZBx0I4IHai2ruCApBa7wxgoBaxKON7X1web0M5zaa1DGnKNZS3o\nLQfNlhT4iP5lvXCmyJOc1rIjOsKkXTS/dJvkaLLpuCcQz0AaVpTxypkYpevA\nDHe0Xk/z7EWe10WXW89dgLgK92xh0H64g2wGEXxFp1ZV+JdN/xmVC2/imr94\n9UpvpvpNpkuwGHMBLXofZf0EtSegKCynJF/afHKjqxMv24TMkZeK20AvOkH2\nNTs2ruUdfegcu1QHYIj5FexXEcCojHqR8wweG0ytrO+JoMWsbTuAx10Pk4PG\nTRTC5tF0bUJEP4xEFBPCSSnTlyt1Jvj1IKuG9N5OqZOzq4eY/OAJbjZa431R\n3RU32jPwSUGh9O2OZjsaBZ2wLzr14cyFvYMvFW1WFJEmbBXg1onMI3kdA4ng\nW06jLzDKDC0OFeNd+oTBF7KT5Ppk0QIFVAyLmtQwuzvq9GLUeCvtuzL1zjKJ\nEJTlKN+oLcD4pnGfIhaQUcC09aVySC9hr+yVTOSRNBgn29kv/lLtA55SIk9X\nz7bbExrAS2PMc55nxRPjQvHj8/VsxUxeBdUa8wPRC3V1PE6XTn9Xtm4YmRME\nvbGn\r\n=h80c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"eb8777814807a3bb6d5358684366118dd6afaa08","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.3_1627034330838_0.4400095885743678","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"@atlas-engine/iam","version":"2.2.4","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.4","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"858da0176138e5186fd239e227b72a4cc5e6d0a3","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.4.tgz","fileCount":35,"integrity":"sha512-JMfIwZd+hcjQSxr155gEqueDCgYKRBMJBJJDrwH1yKU4m4kfnEwWxY3ykOnP2kDtWPYuS9SvNCsRnZZBDlQ2LA==","signatures":[{"sig":"MEQCIBFuCM8zH4XiIY6q+pceAhMJvJ6dwPV4yQbBW7i3nMICAiAMyNfRfK5+5twOUZ39kxKOHtmhT9aX/grK7+ID5Egs+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+pOCCRA9TVsSAnZWagAARaoP/0HQuOc0IMWSbQmNBNiG\nlgUJO8b7KJw1rbn5bS+JLi1QOaGDHV3576gcdLaXgzQlhhmEgKtuspLVUaJk\nTHZARK00KFT8+vqfAvMxsj6XN0v+MNL7gda7piWLL/AJ8m1OWYieWm2OyZ3k\nVGJWRgKp5L+A8pkltFHLHpJ4qV+er7V3kzMFvwwuKaaws+mVo2XVTyWSSDiu\nfWy9rqvdTGXYXcNfa5MtgYm7XAOou3VshjfEmsr1iuP6Nll1N3JUpZko0HDm\nw12nNdSbyMcE9duwdF9gZ5+gV7YFriNBhRNc1OB3BNXFrNWwUVds2z+6iFRH\n3bmODSmATUTwrurruRTT2lXXuA6gHG16XrRm2JeOgmmctVMlOCyutB61DU4I\n+0RzkzvZBA3xV5UGcKWGLPQKMmtpJuleiveKsDfwEGNSqacy7bw/Q/2DMnfS\nSiEkjRD+2MWdQ7DNBS5hg+XxsTZHMVkRrMjW6khyiFd7DDdmgsoTuczAEfVt\nheVGYOTaHvZtA8et7omlK8eCg9sNxXjzwWhsT+vEDwXDODtQNblkfHcHj7GE\nuHjSZ9m1Row8rgd+B8FBDchwVtJfJG4XogmfmELcN3cMZIiPYrnF8fF29WiA\n++VSncuqbUwzr4EHLwKHeC+hkJ1xszaSffJvQMWnOZZPunf9XQyZnRCfkB8k\nShd2\r\n=N1C4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"5879e979d395806141bef1734579943c0c81efc2","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfixes"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.4_1627034497957_0.35737341641274534","host":"s3://npm-registry-packages"}},"2.2.4-hotfixes-77c88b-krg6bdzv":{"name":"@atlas-engine/iam","version":"2.2.4-hotfixes-77c88b-krg6bdzv","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.4-hotfixes-77c88b-krg6bdzv","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"d5a1c5624c78e2a5d902a2f2a08570b757ede768","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.4-hotfixes-77c88b-krg6bdzv.tgz","fileCount":35,"integrity":"sha512-LzOs56y+X7XoMxYEKcaSB0f+ty3CnfsMb+9Mmx7DKcDZJbSzEhNHpFZGlDc7T4gjeW/yMbHjhxvmAoCAlJxZeQ==","signatures":[{"sig":"MEUCICH6Z/NplYbso9wxpIvFxRtSCPn8F3ziVWoCXZEmf+fBAiEA5aV2BkaQ3/ToLzK89Ip99YblNgDPN3HtROLWZrMw+a4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+pOGCRA9TVsSAnZWagAAXhAQAIgm/qdOuwEEU3P2Pz8L\na+WS1GSitSnb6BGP1RP+kG+XBZHwZ7qzejixyLEDwDD0ZtK+G55nhnAdaME7\newRr8JyCJYBDr7+Uh4F1fsFUP6e6vzGKCJF+81S2RA/ZA8QXuAoRnrHTg+Gj\nQEqIGnSRZx55sh7OYGrajmwLSXoA8OX512koogUgRhE4wjZ2wIvNaYxevfgs\n+9BCkHdvWNcteNcorgAwHvkP7fmUfCNqIUIN8NikYHyQkeZeIlZEAZleI8or\n1yiHWIE4/SYksm8nhDliq85fXRpSxYWrknpYe6d8Ut70d4Cxt6AXoJfVD+iy\n8SV236rmTiYwCTUUiS+SUddwK3a8L55DrlWftI9jPKkgLzqZgBQIfXkIiP0N\n9EeS0s71F56rPT05ePNGZxbEEm7VXczu/DWraUZeaAvo0aOBj+bnyVnSmV8y\nVWWfASuo6EJVbTC18xzotay3gh7C6yEAiXRwO7AcA6EPxnRL52B/URdobC4p\n0qZ6SfHUOqaj6wQX+8KgiSNd/Q0//TMl07kEVyW327uvfM8q3BCrJJX5KEje\n6U4BebwdCPJRFTflB3P4Qb9r3cEp3KSugzPAXv1AU911EPbRiCMlT4LUMiyU\nQ1zmESlK7fV4/r0ho92tGNAawlQZEYc8mdtB6fSOna9Vt1jexhdVl9epd9TD\nHP+S\r\n=f2XC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"77c88be5d933ec80fe5acd2e5ef052922cdb54f0","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfixes"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.4-hotfixes-77c88b-krg6bdzv_1627034502116_0.9765203765729096","host":"s3://npm-registry-packages"}},"2.2.4-beta.1":{"name":"@atlas-engine/iam","version":"2.2.4-beta.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.4-beta.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"2761b3a527703265d0ea32b414d460abc431c634","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.4-beta.1.tgz","fileCount":35,"integrity":"sha512-PqINmjXIewPe8lxZQXar5v31sEpbSaEOUd3X68LnjJ4Mf9ZKaWlgzTbX7SV0eEZhbVqlpHrjwoJjoo7hqP0n7g==","signatures":[{"sig":"MEQCIA8GBpgPI9FviqJx+nMzf6cFGQ6q62RxMKT3qlUXvP4MAiAn+mCulgzsXWyYV6ZOfbQEpEfgGuvAT2OjUD76jVgBgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+pOVCRA9TVsSAnZWagAATbkP/iuClX0+HPDINO5spUXc\n3dDv1pXEmxWsnfyYnZauYjmwqibgulpPGbLIPJ81GvtzijMUR5s1jIbZdvL0\ntDSf4v5h5VT0VTq9d6dOkstptEoYASOc/jVVhdKnZzCaS3ah+ihLwBAPcPQn\nNZGnLh0N57DwE8xRsMpjUNNBQsIwFb+StSbrQisrZtMTTVyTvdVfIDIVD+Lj\nq6B93lw5iW9Afl7jhpoKRvUjrr5m0CDj0i4aWN5qhbNFUEy6bK0i4eSuonsK\n3uCeE8mbmY0sB3irT9ZTuXtTlHOMxggZ5DEbRrErltphGT0egPB6u+VBCFia\n/f+I6YTDWgEeCJFurZ2vS5+GR1JTZSZeOvyXS6iHQwB6/to8WHmwKVVi5kkU\nuqK9a294kkhht30VNXZ4jidkaF4waaE8S/LDzWZg6G9vMkKo/tSYgUe5EsW4\nc0Mc4H4sVJAI7WOKl61eWqU9WY/qV6XSb9mw5W4caDhJLP3Q4nFh+kjJ+1/r\nAfVk29vapnxYSRRqBo0hlTKr9H4s2qCOMVj9Qp2og9BHM1INhYuqwug9VrPh\nb0RuJXKvAF7DH/saqEfyMWpWMktmveNJE2ocdko07am4XZzBYFSQUdzcN+Tw\nl5LZHKhEUkoXMwkmOmIUZjCsDDUX3tQNc9aXeQZeT8C8F4C8g9wYQMAeOYfJ\n/VlM\r\n=KjUU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"6962bb8c054fda981840b66b9b01a98d98ba1d2f","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfixes"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.4-beta.1_1627034517440_0.8447428425813004","host":"s3://npm-registry-packages"}},"2.2.4-alpha.1":{"name":"@atlas-engine/iam","version":"2.2.4-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.4-alpha.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"35c2401cc6d10341153309c123ba3664eb963548","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.4-alpha.1.tgz","fileCount":35,"integrity":"sha512-dBZyiV3WFwTuVM8Iu0BhqTh9AgMkXXXWXHxUSQen5t+iY+0SfTXdUzb8PPvm4IOb1wZGVawW/xDIZmsluPS4JA==","signatures":[{"sig":"MEQCIBNVMSGbvbhlpANAuK66mwIwKWZdT56caT8fjLvULwZZAiBAOLC+dofs7BORlxV/0KQgBZ7EvIZZLfMPcEPkY6/WAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+pOhCRA9TVsSAnZWagAAt9kP/2L5PkUG6GwyQISjK2lf\nTjHR1lFs2N5iQ6rYDbS0Ls65DP6nUbgQbK8cvaPLAnbfIezEDLCHRmp1kw1K\nmiW0FlaK4fPkfKbSUlNryQCCQFXfFrAFgESU62sESL2rLVYpxRXGsdQrKO/v\nG0uWfff4VcNlHTFC6H7SFOKD8Sto0Vr/rYC1h5rQnATXdiKV62tN2PDyF2tQ\nE+lf4XyTYftqWBoIPW3wNw/HPN2pP6vyAxryllkMhueZUkdeg/C5nwKKj4a/\nHa/ew66IEjs42H6KUS1yMBDnZvpynual8c/tmnlsWWO5eyMcBhlhJ3gmwDEe\n2y4aMOOgs5/ygdZElj6yvb9UJlJXjrRfWUVAUvxE6clRPG7LaOiEFY+qsg02\nlyoS2KJjSgAAbe4eFPU7lmBeHe0uxF/NSqsNbnKnCmwYvyYf9uXPoB9Hcpxg\nQwgyownHoWSVT9mbywH1mDwuymeLN4vfY9zE4QkWwAhVr+/nfskc8nB6msJ7\nmbUbDRvr6isYs6o9LUAtVb8sJqYh+4VDTeXvbGbLMDx/+hek5RklrtitYOrQ\ne3yPCzoVDP+xqgbZ61SUqnujXwfQ/xTZixJoMKdyTKXNAc1TKxZRM2rVfFJp\nRI5r+bPMBlwq9ZwGLmJPjxqIfzAI/1hTILzFoEYOZvEJ76i550xU0jD+iV3r\nCW5X\r\n=amey\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"a3a17e731fd23fc8aadee4a0aab3638764969737","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"hotfixes"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.4-alpha.1_1627034529058_0.41300976471393636","host":"s3://npm-registry-packages"}},"2.2.5":{"name":"@atlas-engine/iam","version":"2.2.5","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.5","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"fb38969e7f61dda00f27abc019e023ad0c1f9395","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.5.tgz","fileCount":35,"integrity":"sha512-zCyvvNgNz7QNaM4Xcxvtmh/vFTk9rUYjAumJVunQUMihNW64zM7zZq+DDa/299of6S6lKy44pzr5BE4mSIjXUA==","signatures":[{"sig":"MEYCIQCSNv3qk2kjBXlM6xFab5nxnbgC91GVE1XG9qIVymmjNgIhALfuSDC598+LopwtCVpVJlEadEaVfe54R/3EDlZfNniM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+qCYCRA9TVsSAnZWagAAPQEP/RLSNxtlTcVuSlod0XWq\nFaOfHjljeIx8uDIMPX33M0Dz6kAXCuknU+NBz2cLjhenh3IiCEBoOVKeasvR\nA2DA85xVR0lIHbkFHScPd++e4PnHazMzy7gpeBSppGyMw9owyRf/itVBQSyE\nP2C+k6U9HEM/KPjbb53I7qmeEEfpTaG/sejpeRRN2rSYigOGrGrXT4CC4QIw\njt/gXVtYdhM2ZiOV+faiDGcTRPzCBWx/+2bCxx5YbB7zHQJX9T9g8311+VYE\nnQrrMM98Rh1p2XaRg+UYnOdVmWHfEQQhP1bTU5asyivJ1k2qYuITNnV5SaVg\n6jlolbfp/Oe6AQlIx6CmPs7LeCm7vdyhZcfdcrN8QpJO5TGUyQZ4KJx25ytV\ni5eTwBQgftGzn6MtD0Z/j7bDpdu2Ut8phOq3U1AtX4UpeLH5S9ZHSYkJjsce\n+PAFXvW430km2EwAjsnTjRkIXosN92GD0Y0zznPUHK14ApFTWQpuiim4C2dP\n63Jj57vIckOEgmp2dLtg+XSdT0nj1ESzsN/iKUQhKDxR90Lihkg7qlb2ivHL\nMgLWXJyBLrLaTF7bcWSCEgMx1X+NHcJDXww2uWgTv88P8GQS7Ag1npSafJA8\nvQbcSs9lPgzWacHtVzfEDBJv+jnejwlUTdgO4V1jqTKy+6gVPMnT21BgJU0v\n0HjX\r\n=ASPq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","gitHead":"e806233ff5f330298020facd694a0fc1df5e648e","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.5_1627037848102_0.5683061828863822","host":"s3://npm-registry-packages"}},"2.2.5-alpha.1":{"name":"@atlas-engine/iam","version":"2.2.5-alpha.1","author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","_id":"@atlas-engine/iam@2.2.5-alpha.1","maintainers":[{"name":"moellenbeck","email":"martin.moellenbeck@5minds.de"},{"name":"obivarg","email":"christian.werner@5minds.de"},{"name":"alexanderkasten","email":"alexander.kasten@5minds.de"},{"name":"rrrene","email":"rf@bamaru.de"},{"name":"steffen982","email":"Steffenknaup@hotmail.de"},{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},{"name":"fvanbraak","email":"frank.vanbraak@5minds.de"},{"name":"lukas.huerter","email":"lukas.huerter@5minds.de"},{"name":"s3bastiangriesa5minds","email":"sebastian.griesa@5minds.de"}],"homepage":"https://github.com/atlas-engine/Iam#readme","bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"dist":{"shasum":"00d314a9304204c03b7194e9ddfa18776f7f59dc","tarball":"https://registry.npmjs.org/@atlas-engine/iam/-/iam-2.2.5-alpha.1.tgz","fileCount":35,"integrity":"sha512-j7RPy06JVBQpbR64KZtZxfOgjSmx/ymKt646tq/K0Y4OR1QKe0g8ZS0WgRCFLlvgkkcQssGFMTOr2nu5tY5WVg==","signatures":[{"sig":"MEUCIQDhB5+cc1qnF9LX2WZTDQXCPUvXlnd0i99R6rurGDDTygIgRdqDA8P5WoWDHwrbzGsFHY/knfVFJ95yYjF3AcH3lTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+qDBCRA9TVsSAnZWagAAbIUQAIXsSNy5sdzZChhgjyZg\n0S+mzZxOAUETSlLKCYhHjKZUPQTkTtwGzonXT1sgAI8S1LU7thmFm9Z2qK7p\nzjUlsE+sDgxKyE/407FfLL/DwybiwgCQLVHJDsWVfGPA6DfqZSWF+3L6/mWs\nbmPkby906WieDLUcFdB3jKhYqUxnY4pNty6Lo9XfSIF13wMdo1fsahYxL4ev\nEMUhRHvx0DAyxAfaaiimOqxJGFyhW9D3Zm9Tp0ktsCNlJnDz1eAwOJhOh0Yp\nYeSlkJ6e3GMHA5AzZpd7R398RM/qmj2ASMDwgdhoJUG032FT014JqMjiPDW8\n3SlWy4nGz9tBezU2SVXqvn65kpdQnh+3DYtrW2v1fe0c4XLlviGyjWMVuJIe\nSmh1u+oH4uYkawfJf8FuFfCjDDSzwOOKfixeGUUn3CYeG3ow75AjR3kUchD7\nYQZpY6IYgKAEPo8HqIGYW5sx9shSyzvJWUHq438Wj/ZGysou12748vDbjGjh\noupwbELlhD/lvFPdpe7umihBpG3hKhk+//VouT+GQARUKKwR9cUYvXlHInTc\nYk+PPXCRG+3sUCJSgqUvClBDnlTZY5sdZpCc5yDapo5g9xCPGYFFqInyyMZb\nciBszvSYus+VZF+9aZOn6r/JO1WyAnHsgAjhemla9wWQBtKArNamnIvH/fLj\nIwEQ\r\n=0xIc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/commonjs/index.js","readme":"# Identity and Access Management - IAM\n\nContains the implementation of the [IAM contracts](https://github.com/atlas-engine/iam_contracts) interfaces.\n\n## Purpose\n\nThe AtlasEngine uses IAM for performing authorization related requests.\nThe contracts found in `@atlas-engine/iam_contracts` provide a template for this.\n\nTwo services are available:\n\n1. IamService\n\n   Used for interaction with the authority.\n   `ensureHasClaim` allows to check if a given identity has a given claim.\n\n2. IdentityService\n\n   A service that knows how to transform a given token (e.g. JWT) to an\n   identity that the authority can understand.\n\n**Usage Example:**\n\nThe easiest way to get familiar with the idea is to look at an example; this\nwill illustrate the use of and the interaction between the IamService and the\nIdentityService:\n\n```ts\nconst identityService = new IdentityService();\nconst iamService = new IAMService();\n\n// Get the identity for a given JWT token.\nconst token = 'Place JWT Token here';\nconst identity = identityService.getIdentity(token);\n\n// Will result in:\n//\n// 1. An UnauthorizedError HTTP Status code, if the identity is not logged in at the authority.\n// 2. A ForbiddenError HTTP Status code, if the identity does not have the given claim.\n// 3. Nothing, if the identity has the given claim.\niamService.ensureHasClaim(identity, 'allowd_to_read_data');\n\n// Place protected code here.\n(...)\n```\n\n## Usage\n\nUsing IAM is simple. You can use `ensureHasClaim` to verify any claim for any identity.\n\nYou'll get one of the following results:\n\n1. Get an Unauthorized Error\n\n   A 401 will be thrown, if the identity is not known to the authority or the\n   token is invalid/expired/etc.\n\n2. Get a Forbidden Error\n\n   A 403 will be thrown, if the given identity does not have the given claim.\n\n3. Get Nothing, if the identity has the given claim.\n\n   A 204, which indicates that the identity has the given claim.\n\n## Configuration\n\nThe IamService needs some configurations:\n\n- `baseUrl`: The base address at which the authority can be reached\n- `claimUrl`: The url to use for claim checks\n- `allowAnonymousRootAccess`: If `true`: Allow usage of the dummy token. Defaults to `false`.\n- `cache`: A set of configurations for the claim check cache\n  - `enabled`: If true, the result of each unique claim check for each token will be cached\n  - `cacheLifetimeInSeconds`: The time that a claim check result should be cached. Set to 0 to store results indefinetly\n  - `cleanupIntervalInSeconds`: The interval in which the cache should clean intself up. Use 0 to disable this behaviour.\n\n\n## Disabling Claim Checks\n\nYou can disable claim checks altogether, by starting the Atlas Engine with the `DISABLE_CLAIM_CHECKS` environment parameter.\n\nExample: `DISABLE_CLAIM_CHECKS=true atlas-engine`.\n\n**Be advised:**\nDisabling claim checks entirely will allow any and all users to do whatever they want!\nYou should only use this for testing- or debugging- purposes!\n","gitHead":"97aa783a02c46df22b72f0b4ea49ea09cf217396","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"c8 ts-mocha -p ./tsconfig.json ./test/**/*.spec.ts","build":"npm run clean && npm run build-commonjs && npm run build-amd","clean":"rm -rf dist","prepare":"npm run build && npm run lint-fix && npm run test","lint-fix":"eslint --fix \"src/**/*.ts\"  \"test/**/*.ts\"","build-amd":"tsc --module amd --outDir ./dist/amd","reinstall":"./reinstall.sh","build-commonjs":"tsc","check-test-coverage":"c8 check-coverage --lines 85 --functions 100 --branches 70","report-test-coverage":"c8 report"},"typings":"dist/index.d.ts","_npmUser":{"name":"process-engine-ci","email":"ci+npm@process-engine.io"},"deprecated":"This package is no longer maintained. Consider upgrading your engine to v13, which no longer uses this package.","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"_npmVersion":"6.14.13","description":"Contains the AtlasEngine's IAM components.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"moment":"2.26.0","inversify":"5.0.1","loggerhythm":"3.0.4","jsonwebtoken":"8.5.1","reflect-metadata":"0.1.13","@atlas-engine/http_client":"^1.1.3","@atlas-engine/iam.contracts":"^2.0.0","@atlas-engine/error_provider":"^1.0.5","@atlas-engine/configuration_service":"3.0.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.7.1","mocha":"^8.3.2","eslint":"^7.24.0","should":"^13.2.3","ts-mocha":"^8.0.0","typescript":"^3.9.3","@types/node":"^12.12.36","@types/mocha":"^8.2.2","@process-engine/ci_tools":"^3.2.0","@atlas-engine/eslint-config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/iam_2.2.5-alpha.1_1627037889586_0.7027878242735093","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-11-06T09:28:44.157Z","modified":"2026-05-20T11:36:38.304Z","0.0.1":"2019-11-06T09:28:44.530Z","0.1.0":"2019-11-06T14:24:03.962Z","0.1.1":"2019-11-13T13:11:09.617Z","0.1.2":"2019-11-18T14:45:01.885Z","0.1.3":"2019-11-25T15:17:57.200Z","0.1.4":"2019-11-27T17:02:47.599Z","0.2.0":"2019-12-11T14:16:12.705Z","0.2.1":"2019-12-12T13:50:01.202Z","0.2.2":"2020-02-28T09:18:49.646Z","0.2.2-feature-fb15b0-k7ei1n9y":"2020-03-05T08:40:15.942Z","0.2.2-feature-0fb6ba-k7eyuj4f":"2020-03-05T16:30:35.792Z","0.2.2-feature-ed3f96-k7fvc6zh":"2020-03-06T07:40:04.642Z","0.2.2-feature-3b863d-k7k7x73w":"2020-03-09T08:43:29.975Z","0.2.2-feature-a7f18e-k7kdeppp":"2020-03-09T11:17:02.214Z","0.2.2-feature-e25086-k7ke5aho":"2020-03-09T11:37:45.903Z","0.2.2-feature-c338c2-k7keegag":"2020-03-09T11:44:53.932Z","0.2.2-feature-f2b457-k7kegaho":"2020-03-09T11:46:16.460Z","0.2.2-alpha.1":"2020-03-18T08:41:09.146Z","0.2.2-alpha.2":"2020-03-18T11:10:55.090Z","0.2.2-feature-b712e2-k7xhsban":"2020-03-18T15:40:45.195Z","0.2.2-alpha.3":"2020-03-18T15:58:52.433Z","0.2.2-beta.1":"2020-03-19T18:24:02.787Z","1.0.0":"2020-03-24T08:30:13.577Z","1.0.0-feature-516b0f-k88w4akt":"2020-03-26T15:07:20.998Z","1.0.1":"2020-03-26T15:16:41.034Z","1.0.1-feature-f19914-k98sbagl":"2020-04-20T18:00:26.242Z","1.0.1-feature-ea3e5f-k98soy0r":"2020-04-20T18:11:04.156Z","1.0.1-feature-4d3990-k9e2v46g":"2020-04-24T10:54:41.972Z","1.0.1-alpha.1":"2020-04-24T11:00:46.409Z","1.0.1-alpha.2":"2020-04-27T10:20:18.943Z","1.0.2":"2020-04-29T09:26:19.859Z","1.0.2-alpha.1":"2020-05-05T07:22:10.767Z","1.0.2-beta.1":"2020-05-05T07:22:16.039Z","1.0.2-feature-470a32-kafboypu":"2020-05-20T12:29:20.181Z","1.0.2-feature-2b3ace-kafby0h1":"2020-05-20T12:36:21.324Z","1.0.2-feature-684233-kafcy9zi":"2020-05-20T13:04:35.370Z","1.0.2-feature-1388e6-kam6ynf8":"2020-05-25T07:51:22.529Z","1.0.2-feature-4cd356-kam820x1":"2020-05-25T08:21:59.323Z","1.0.3-feature-62a38a-kamliqur":"2020-05-25T14:38:55.380Z","1.0.3":"2020-05-25T14:42:48.435Z","1.0.4":"2020-05-26T08:18:10.113Z","1.0.5":"2020-05-27T09:41:33.843Z","1.0.5-alpha.1":"2020-06-02T10:56:26.634Z","1.0.6-alpha.1":"2020-06-02T11:05:57.323Z","1.0.6":"2020-06-02T11:06:13.010Z","1.0.6-beta.1":"2020-06-02T11:07:23.663Z","1.0.6-alpha.2":"2020-06-04T10:11:52.093Z","1.0.6-feature-7382cb-kb0t9n49":"2020-06-04T13:24:36.244Z","1.0.6-alpha.3":"2020-06-04T19:44:53.055Z","1.0.6-feature-9378ca-kb6dc0cl":"2020-06-08T10:45:08.119Z","1.0.6-alpha.4":"2020-06-08T10:59:43.843Z","1.0.7-alpha.1":"2020-06-08T16:24:27.377Z","1.0.7":"2020-06-08T16:24:42.815Z","1.0.7-beta.1":"2020-06-08T16:24:58.887Z","1.0.7-feature-43bf55-kdeggcqw":"2020-08-03T11:54:04.551Z","1.0.7-feature-4ea7f9-kdeiu1kz":"2020-08-03T13:00:41.316Z","1.0.7-feature-8f5eea-kdejbemf":"2020-08-03T13:14:14.412Z","1.0.7-feature-28d900-kdejf19f":"2020-08-03T13:17:01.186Z","1.0.7-feature-a8dd12-kdg03pis":"2020-08-04T13:51:52.959Z","1.0.8-feature-4607b9-kdg4x4xh":"2020-08-04T16:06:45.939Z","1.0.8-alpha.1":"2020-08-04T16:10:29.075Z","1.0.8-beta.1":"2020-08-04T16:12:43.581Z","1.0.8":"2020-08-04T16:14:26.116Z","1.0.8-feature-21c569-kewkxmch":"2020-09-10T08:59:01.356Z","1.0.8-feature-5beaa9-kewq6p4r":"2020-09-10T11:26:02.798Z","1.1.0-alpha.1":"2020-09-11T09:36:49.064Z","1.1.0-beta.1":"2020-09-16T08:01:10.590Z","1.1.0-feature-306708-kfmb7rlo":"2020-09-28T09:09:00.661Z","1.1.0-feature-60a3d4-kfmd7jwk":"2020-09-28T10:04:47.001Z","1.1.0-feature-4cad0a-kfmdadp9":"2020-09-28T10:07:00.661Z","1.1.0-feature-e6e672-kfmfkd2p":"2020-09-28T11:10:44.240Z","1.1.0-feature-e6e672-kfmhw6m8":"2020-09-28T12:15:55.119Z","1.1.0-feature-a816fc-kfpeyawy":"2020-09-30T13:16:56.418Z","2.0.0-feature-34dc59-kfs8n5ka":"2020-10-02T12:43:35.758Z","2.0.0-alpha.1":"2020-10-02T12:53:48.238Z","1.1.0":"2020-10-07T10:48:11.171Z","1.1.0-beta.2":"2020-10-07T10:48:16.902Z","2.0.0-alpha.2":"2020-10-07T10:49:47.238Z","2.0.0-alpha.3":"2020-10-07T16:31:38.780Z","2.0.0-beta.1":"2020-10-07T16:31:54.082Z","2.0.0-feature-4c5b9b-kgdx4678":"2020-10-17T16:51:49.910Z","2.0.0-feature-31801b-kgdz07vw":"2020-10-17T17:44:44.946Z","2.0.0-feature-677c48-kge0u9tr":"2020-10-17T18:36:04.715Z","2.0.0-feature-2de839-kge1mtjs":"2020-10-17T18:58:17.862Z","2.0.0-feature-46a996-kge292qz":"2020-10-17T19:15:37.304Z","2.0.0-feature-4855de-kge2frks":"2020-10-17T19:20:48.698Z","2.0.0-feature-2a5c58-kge2pqvu":"2020-10-17T19:28:34.721Z","2.0.0-feature-fe5670-kge3obb3":"2020-10-17T19:55:28.720Z","2.0.0-feature-a1d8bb-kge3ynjw":"2020-10-17T20:03:30.064Z","2.0.0-feature-9e6ce4-kgf36tuk":"2020-10-18T12:29:38.074Z","2.0.0-alpha.4":"2020-10-23T13:48:58.751Z","2.0.0-alpha.5":"2020-10-23T14:14:24.881Z","2.0.0-feature-57a111-kgzekuqs":"2020-11-01T17:43:51.260Z","2.0.0-feature-0807ed-kh0dxla6":"2020-11-02T10:13:35.835Z","2.0.0-feature-8f7c72-kh1xljui":"2020-11-03T12:11:50.137Z","2.0.0-feature-03e9f1-kh2d0h2q":"2020-11-03T19:23:19.964Z","2.0.0-feature-3fc38d-kh2gulhh":"2020-11-03T21:10:44.886Z","2.0.0-feature-7c4792-kh2gzaou":"2020-11-03T21:14:22.421Z","2.0.0-feature-2795ab-kh33wfuv":"2020-11-04T07:55:59.340Z","2.0.0-feature-df370f-kh3efm3h":"2020-11-04T12:50:53.331Z","2.0.0-feature-1de94c-kh3egu54":"2020-11-04T12:51:47.115Z","2.0.0-feature-c0d70e-kh4plg8m":"2020-11-05T10:51:05.974Z","2.0.0-feature-b6c6b8-kh4uysvw":"2020-11-05T13:21:30.247Z","2.0.0-feature-071a4b-kh4v3dqt":"2020-11-05T13:25:02.869Z","2.0.0-feature-9ffddf-kh4vctce":"2020-11-05T13:32:22.037Z","2.0.0-feature-bb0dc8-kh501npx":"2020-11-05T15:43:37.205Z","2.0.0-alpha.6":"2020-11-05T16:00:27.137Z","2.0.0-alpha.7":"2020-11-06T10:25:52.160Z","2.0.0-beta.2":"2020-11-06T10:25:58.229Z","2.0.0-betafix-5d9eba-khbzbrqf":"2020-11-10T12:57:55.685Z","2.0.0-betafix-d61eeb-khc2p0tn":"2020-11-10T14:32:13.326Z","2.0.0-beta.3":"2020-11-10T14:34:55.912Z","2.0.0-alpha.8":"2020-11-10T14:36:33.923Z","2.0.0":"2020-11-11T10:05:31.658Z","2.0.0-beta.4":"2020-11-11T10:06:00.874Z","2.0.0-alpha.9":"2020-11-11T10:06:16.116Z","2.0.0-hotfix-59d902-kjv85zgu":"2021-01-13T09:32:25.561Z","2.0.0-hotfix-c07e01-kjvd6nb8":"2021-01-13T11:52:49.155Z","2.0.0-hotfix-37afe5-kjvdizkf":"2021-01-13T12:02:25.906Z","2.0.0-hotfix-994e62-kjvj1sv2":"2021-01-13T14:37:01.976Z","2.0.0-hotfix-a29edf-kjvlc2ry":"2021-01-13T15:41:04.973Z","2.0.1-hotfix-7b0e1f-kjvqeaxq":"2021-01-13T18:02:42.004Z","2.0.1":"2021-01-13T18:06:28.417Z","2.0.1-alpha.1":"2021-01-13T18:07:00.100Z","2.0.1-hotfix-235a26-kk3u3atm":"2021-01-19T10:08:19.526Z","2.0.1-hotfixes-d29fbc-kk3u3rnj":"2021-01-19T10:08:40.888Z","2.0.1-hotfixes-4e3fed-kkza4zhc":"2021-02-10T10:18:20.646Z","2.0.2":"2021-02-10T15:21:49.887Z","2.0.2-beta.1":"2021-02-10T15:23:05.119Z","2.1.0-alpha.1":"2021-02-10T15:24:33.513Z","2.1.0-beta.1":"2021-02-25T13:52:06.884Z","2.1.0-alpha.2":"2021-02-25T13:52:27.458Z","2.1.0-alpha.3":"2021-02-25T15:36:39.788Z","2.1.0-beta.2":"2021-02-25T15:36:44.752Z","2.1.0-feature-12c696-klt9uwat":"2021-03-03T10:03:35.294Z","2.1.0-feature-94600e-klteh410":"2021-03-03T12:12:55.183Z","2.1.0-feature-a76b09-klum724z":"2021-03-04T08:36:44.166Z","2.1.0-feature-10a380-klut3os7":"2021-03-04T11:50:09.529Z","2.1.0-feature-a7b53c-klw1kg72":"2021-03-05T08:34:52.945Z","2.1.0-alpha.4":"2021-03-09T06:47:54.526Z","2.1.0":"2021-03-12T13:16:09.273Z","2.1.0-beta.3":"2021-03-12T13:16:20.560Z","2.2.0-alpha.1":"2021-03-12T13:17:18.450Z","2.2.0-feature-e4f36d-kmkbzedc":"2021-03-22T08:32:52.944Z","2.0.1-feature-9073a3-kmly9std":"2021-03-23T11:44:38.085Z","2.0.1-feature-dbbc52-kmlynmp8":"2021-03-23T11:55:20.931Z","2.0.1-hotfixes-f976b4-kmlyqbr5":"2021-03-23T11:57:29.001Z","2.2.0-hotfixes-356e5d-kmz3bwct":"2021-04-01T16:27:12.820Z","2.1.1-hotfixes-4c647d-kmz6l058":"2021-04-01T17:58:15.124Z","2.1.1":"2021-04-01T17:58:22.814Z","2.1.1-beta.1":"2021-04-01T17:59:03.593Z","2.1.1-alpha.1":"2021-04-01T17:59:15.798Z","2.1.1-hotfix-e2c26b-knj6nffh":"2021-04-15T17:55:35.999Z","2.1.1-hotfix-c7870a-knj6p155":"2021-04-15T17:56:47.524Z","2.1.1-hotfix-c68d93-knj9tetv":"2021-04-15T19:24:11.184Z","2.2.0-hotfix-80139b-knoio8at":"2021-04-19T11:30:56.193Z","2.2.0":"2021-04-19T11:35:53.281Z","2.2.0-hotfix-48846e-ko89h1kg":"2021-05-03T07:08:45.978Z","2.2.0-hotfix-f75ef4-ko89iizo":"2021-05-03T07:09:57.241Z","2.2.0-hotfixes-1394cd-kob959ms":"2021-05-05T09:22:57.108Z","2.2.1":"2021-05-11T12:50:12.312Z","2.2.1-hotfixes-eea604-kok170ul":"2021-05-11T12:50:20.381Z","2.2.1-beta.1":"2021-05-11T12:50:31.557Z","2.2.1-alpha.1":"2021-05-11T12:51:08.256Z","2.2.1-hotfix-ef0794-kqgmvdry":"2021-06-28T13:05:27.927Z","2.2.1-hotfixes-b04a3e-kqgp11va":"2021-06-28T14:05:51.005Z","2.2.2":"2021-06-28T14:09:13.812Z","2.2.2-beta.1":"2021-06-28T14:09:19.842Z","2.2.2-hotfix-c2ce56-kqrthej5":"2021-07-06T08:55:56.151Z","2.2.2-hotfix-c2ce56-kqrv3go4":"2021-07-06T09:41:10.646Z","2.2.2-hotfix-28de7d-kqs1qz1l":"2021-07-06T12:47:20.103Z","2.2.2-hotfix-02bc3a-kr1ssq45":"2021-07-13T08:34:27.713Z","2.2.2-hotfixes-541960-kr1t3ksp":"2021-07-13T08:42:56.127Z","2.2.2-hotfix-485878-krac40jl":"2021-07-19T07:57:19.179Z","2.2.3":"2021-07-23T09:58:51.004Z","2.2.4":"2021-07-23T10:01:38.130Z","2.2.4-hotfixes-77c88b-krg6bdzv":"2021-07-23T10:01:42.275Z","2.2.4-beta.1":"2021-07-23T10:01:57.552Z","2.2.4-alpha.1":"2021-07-23T10:02:09.262Z","2.2.5":"2021-07-23T10:57:28.271Z","2.2.5-alpha.1":"2021-07-23T10:58:09.720Z"},"bugs":{"url":"https://github.com/atlas-engine/Iam/issues"},"author":{"name":"5Minds IT-Solutions GmbH & Co. KG"},"license":"MIT","homepage":"https://github.com/atlas-engine/Iam#readme","repository":{"url":"git+https://github.com/atlas-engine/Iam.git","type":"git"},"description":"Contains the AtlasEngine's IAM components.","maintainers":[{"email":"alex@kasten.pw","name":"alexanderkasten"},{"email":"sebastian.griesa@5minds.de","name":"s3bastiangriesa5minds"}],"readme":"","readmeFilename":""}