{"_id":"@affinity-lab/sk-mik-id-sso-client","_rev":"4-bb454e3938db065f4559d9d0402f17da","name":"@affinity-lab/sk-mik-id-sso-client","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@affinity-lab/sk-mik-id-sso-client","version":"1.0.0","main":"index.js","author":{"name":"Gergely Laborci"},"dependencies":{"@sveltejs/kit":"next","jsonwebtoken":"^9.0.0","@types/jsonwebtoken":"^9.0.1"},"gitHead":"309fba55787c5056ada8efcf283c60104b4b9f65","description":"","_id":"@affinity-lab/sk-mik-id-sso-client@1.0.0","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-Jt0eqgmHPBMOjekPuEF/K7leVJ01fDKvAurf5kwiWIrxJYk0445UQKg4Pd9cd0HLZXoAWcBZf9AwQzGG2Gr7ow==","shasum":"571c6cadf143ce3a770c90dcd179815c670723f9","tarball":"https://registry.npmjs.org/@affinity-lab/sk-mik-id-sso-client/-/sk-mik-id-sso-client-1.0.0.tgz","fileCount":5,"unpackedSize":5597,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDoKFVtwHZq3UdhMi+sL1/tzs25oHuM3lSGQs1qZuZAsAiB6T/kLXYQRB7/num00jVEO4DHiUxRVtjTHfcVy1sW2gw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIp5lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWxA/9Fa6H34D2AJyJFFvnok/8Q0jByGrzyYPMsrI8J5so8hc5WDaU\r\nTWgPsukPdvWGPuFnC0awJ6C92OdgG13aKA1DYQIxK5CT5SJh5LBCk3edvNiN\r\nglZz5GmWm2hUjrEqpl1sAo+FTaF2LiOSFd44hvCQLntuXB5n9uwv12tefCOs\r\nDsI6G6XaluF2/7zElS7SKvlIglpua+cpgOjZtxQ6pJdAnzRqGy10vHYw7BvA\r\n260aUC7xqZWAKTtNqwTfRoubD642bfYjakYbiv2/r+TqVTAVLwYKye6LmCj2\r\nRw0uwnRN4LZ+AQYn2fW86eAjnj3V0UamL34MoIps0RFm82irm/jt91AlNGKu\r\nIK+UDRz893cUndhKm/1mBhFDChGkvpQJFxLJZ/c7G4rtAKeYjHRubDeU8N1h\r\n62f3Xwjsc1ZNXLqk0RR5Y1y4WyawGqnJvOIZGP5NcPKcntX2cvprcOOFwprR\r\nRWSUSkyBmW/AgK/X+jaTOfDaoy+tcQhyzlofp1S+X5rGq8eOyub2nvgvLXtc\r\njPLldOvPlvbT91zOA8ULIomrQh1qNjJNaPfGfTq38CQGZOJM2oYKXVTcpVUa\r\nb8KzE7X0xuAKg3ou/XcPG2P5+NoeWjekZyQ7iYYDHSQ/EGzmCtEKMVI2lVDQ\r\nOeKS+Nm3Eo9JlrU3GZi2jA3enLCEfEjfTGA=\r\n=Jkiw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"laborci","email":"gergely@laborci.hu"},"directories":{},"maintainers":[{"name":"laborci","email":"gergely@laborci.hu"},{"name":"affinity-lab-organizer","email":"laborci.gergely+affinity@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sk-mik-id-sso-client_1.0.0_1679990373725_0.7236413795651662"},"_hasShrinkwrap":false},"1.0.1":{"name":"@affinity-lab/sk-mik-id-sso-client","version":"1.0.1","main":"index.js","author":{"name":"Gergely Laborci"},"dependencies":{"@sveltejs/kit":"next","jsonwebtoken":"^9.0.0","@types/jsonwebtoken":"^9.0.1"},"gitHead":"309fba55787c5056ada8efcf283c60104b4b9f65","description":"MIK ID SSO for sveltekit projects","_id":"@affinity-lab/sk-mik-id-sso-client@1.0.1","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-0QY576fv6XyjmcV7Hg8jGavcZqLs91HH/xR+MoKAR4kXlks+ibBCn6smb382alRteD9RJZ5Eu444GX3xe701kQ==","shasum":"7b6cef8d93093827b23fefcdf92e68da5a1161ae","tarball":"https://registry.npmjs.org/@affinity-lab/sk-mik-id-sso-client/-/sk-mik-id-sso-client-1.0.1.tgz","fileCount":5,"unpackedSize":4143,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEE0RlGCG7l+QEiJceFuL2lRToAaIVIBqAywzSjQ2+/UAiBgaLxFnWsnPkFHIx9Ml+quVXHclA9mlH9HE5nMpY5gMg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIrfpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEKg//fvGeOFbU6g/U7sWr0UKXpq46nEuKcDOmWIzPXXo4TowddpFB\r\nxFfvYN7ZhcolTq3tRvkusjGQWeb7H1qsYM80oZP89R8WTfWB0IgApeElVNyZ\r\nochpQ4LooqBRyWZmUNY3LdleBa+il4v4vL/jmy8vdY5bvKHshWIOMXLxjwo0\r\ndjWLge6liLMlhFu5mjkqiwhOr4Z+xLnd47v7ASTrgLcwNZT+l8nUalj6XfbQ\r\ntcxNyiTg8QR1Knjy2FDIp+7FgknGfLA0hXLci/CVjy3NVlCuQCBT2VbOtixD\r\ntFFL9dDWoqWY1qk4ycOADQBM5IdN3z37La9edYX1eQSXRkfx733Y5d6B2Av3\r\nPAa0zpgi/DYkqg39ymCMxO2/4f7T0spm2S5hjynUiFF5N5sT+ddJo0UhFvOf\r\niNi6iqb0suJl883EcyFRzN+51r66hvU6oZYgeroTe3PqC/ftV8UYzO2idxPK\r\nD2bavX4uhbZrUP9JltOjWU7S0wd4ZkmEdqunZ09bRYEPeW0yUU93iAPSIfyi\r\nWW6815w4t4rO62PK+nRA2fKZMoS9Vbmsgn0ywO8+QBfWbrXtd0i0kdiqJ2dG\r\ng+CpDq61g/gCuRI8PtYOCdkao8FW5iINwCXdDsBkCNOqIagXBlEUid2fLduq\r\nfZZSKKRhs6qsrT18CzrGJYqBRbggVPFU8KI=\r\n=AF5K\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"laborci","email":"gergely@laborci.hu"},"directories":{},"maintainers":[{"name":"laborci","email":"gergely@laborci.hu"},{"name":"affinity-lab-organizer","email":"laborci.gergely+affinity@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sk-mik-id-sso-client_1.0.1_1679996905751_0.4577783172381642"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-28T07:59:33.616Z","1.0.0":"2023-03-28T07:59:33.927Z","modified":"2024-04-22T11:55:13.687Z","1.0.1":"2023-03-28T09:48:25.917Z"},"maintainers":[{"email":"szaj.szabolcs@gmail.com","name":"frogyboy"},{"email":"gabberson0312@gmail.com","name":"gabi0312"},{"email":"divad.sari@gmail.com","name":"davdom004"},{"email":"gergely@laborci.hu","name":"laborci"},{"email":"laborci.gergely+affinity@gmail.com","name":"affinity-lab-organizer"}],"author":{"name":"Gergely Laborci"},"readme":"# @affinity-lab/sk-mik-id-sso-client\n\nMIK ID SSO for sveltekit projects\n\n## Installation\n\n```\nnpm i -s @affinity-lab/sk-mik-id-sso-client\n```\n## Usage\n\n### Set up the service \n\n> `$lib/services/sso-client.ts`\n```ts\nimport {type NeptunUser, SSOClient} from \"@affinity-lab/sk-mik-id-sso-client\";\nimport type {RequestEvent} from \"@sveltejs/kit\";\nimport {PRIVATE_MIKID_AUTH_REQUEST_URL, PRIVATE_MIKID_LOGOUT_URL, PRIVATE_APP_ID, PRIVATE_APP_KEY} from \"$env/static/private\";\n\nexport let ssoClient = new SSOClient(\n\tPRIVATE_MIKID_AUTH_REQUEST_URL,\n\tPRIVATE_MIKID_LOGOUT_URL,\n\tPRIVATE_APP_ID,\n\tPRIVATE_APP_KEY,\n\t(event: RequestEvent, user: NeptunUser) => {\n\t\t // ... do whatever you want, e.g: store the user in session\n\t\t event.locals.session.user = user\n\t },\n\t(event: RequestEvent) =>{\n\t\t // ... do whatever you want, e.g: remove the user from the session\n\t\t event.locals.session.user = undefined\n\t }\n)\n```\n### Use it in your routes \n> `routes/sso/[action]/+server.ts`\n```ts\nimport type {RequestEvent} from '@sveltejs/kit';\nimport {error} from \"@sveltejs/kit\";\nimport {ssoClient} from \"$lib/services/sso-client\";\n\nexport async function GET(event: RequestEvent) {\n\tswitch (event.params[\"action\"]) {\n\t\tcase \"sign-in\":\n\t\t\treturn ssoClient.signIn(event, event.url.origin + \"/sso/authenticated\");\n\t\tcase \"authenticated\":\n\t\t\treturn ssoClient.authenticated(event, event.url.origin, event.url.origin);\n\t\tcase \"sign-out\":\n\t\t\treturn ssoClient.signOut(event, event.url.origin);\n\t}\n\tthrow error(404, {message: 'Not found'});\n}\n```\n\n### Sign in and sign-out\nIn your pages do some real relocation using `navto` from `@affinity-lab/sk-util` or on an `anchor` tag with `data-sveltekit-reload` attribute to the urls defined before. (`/sso/sign-in`, `/sso/sing-out`)\n```sveltehtml\n<script lang=\"ts\">\n\timport {navto} from \"@affinity-lab/sk-util\";\n\tconst singIn = ()=>navto(\"/sso/sign-in\");\n</script>\n\n<button on:click={signIn}>Sign In</button>\n<a href=\"/sso/sign-out\" data-sveltekit-reload>Sign Out</a>\n\n```","readmeFilename":"README.md","description":"MIK ID SSO for sveltekit projects"}