{"_id":"@react-keycloak/ssr","_rev":"14-72309683a364d24e369993577bb75e48","name":"@react-keycloak/ssr","dist-tags":{"latest":"3.3.0","next":"3.0.0-alpha.1"},"versions":{"2.0.0-alpha.1":{"name":"@react-keycloak/ssr","version":"2.0.0-alpha.1","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/panz3r/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/panz3r/react-keycloak/issues"},"homepage":"https://github.com/panz3r/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"dist/lib/react-keycloak-ssr.js","module":"dist/es/react-keycloak-ssr.js","types":"index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf ./dist","prebuild":"npm run clean","build":"rollup -c","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^2.1.1","base-64":"^0.1.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-cookie":"^2.2.1","prop-types":"^15.7.2"},"gitHead":"c6499ce0e876df80e7d7db011cd81a766498d27a","_id":"@react-keycloak/ssr@2.0.0-alpha.1","_nodeVersion":"12.17.0","_npmVersion":"lerna/3.22.0/node@v12.17.0+x64 (darwin)","dist":{"integrity":"sha512-jQpZi6IC8ppmFxRAy8Aq++Wnk9uz0pa5VQFt4cMfDVm7PfHqFQFruIhXkhbFboaCoPnV5TsyQ0jyttxgq0qafA==","shasum":"ace20483c9a4ff38be423c9de0ba420c5da0da2a","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-2.0.0-alpha.1.tgz","fileCount":6,"unpackedSize":42152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe27xHCRA9TVsSAnZWagAAq9kP/1S1hLUJrjBT7ngMErJs\nioCn/egeg+YMtZJs0SZTbkC+QSAu1hq5GV6lzjIw4ZyRl9f8lyMFk0aPcxva\nMXPI8Tosa1EUBe2nD0yEdgXkVvpV6EfUj3Pwix/qmzZndM3owdlGNNYwMlkT\nUEBv9B7qf6qDYPB/1FIgT9JWRtfnFXG6JEsJCHle5b9Rzb/WZwPU0GyMSg77\neEZ/hqPJGKCDyXMo19UdGSfoIjV2l1QYtfoEQ/j4jlKwzueV4T2tO0ygV9iL\nEhlBHIrPkS/3I67jtJELKT1dlHPJjbgnlZuXbDTe+K77aDP6Kul3DiLaEOwv\ntdoN9Z6cYxX4kLn658nExFEr9py6V4RAXfEP4QzdNSRxYBgXNUJOv9vI/r4z\npY0hHFCdDfJELbS64yIc4sYPsrC+qwYkiuZnGDIJlc7FFGDRJUcZF55TkSPi\n3IdXyaec6K81hq8K2EtwgH5nX8vO+7BS9fc70VWc+cvil9yAS7DkA5/RlGQd\nli1UQOgBujZhcNC8+WqH0cJWG8fvlw/Pi4DcL3SfXMKofuDUJLRuXHN43b42\nbyS/uv8YClgH/pXK+4pRNi5ngwLe+kTVO9nqo4n9x3wNP6WMazeNfj9ieQCi\nFgujfPSnBJacjoI0XC28mIM7962LuCpoySgz3QiZbSJ9wNLl05+oONKVnDm2\n93CD\r\n=z12V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw+RuQS5zfZ+ievMTR/cV6PiFBtk8cOHyMSI8XwcohMAIhAOH/M6HqZFcrxhm/9K3qmWQB0xz+7vMSeTQHGkG9V5uw"}]},"maintainers":[{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_2.0.0-alpha.1_1591458886565_0.5295515734651537"},"_hasShrinkwrap":false},"2.0.0-alpha.2":{"name":"@react-keycloak/ssr","version":"2.0.0-alpha.2","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/panz3r/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/panz3r/react-keycloak/issues"},"homepage":"https://github.com/panz3r/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"dist/lib/react-keycloak-ssr.js","module":"dist/es/react-keycloak-ssr.js","types":"index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf ./dist","prebuild":"npm run clean","build":"rollup -c","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^2.1.2","base-64":"^0.1.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-cookie":"^2.2.1","prop-types":"^15.7.2"},"gitHead":"a6b6b489286901d1324ac741423b20d87a5828b8","_id":"@react-keycloak/ssr@2.0.0-alpha.2","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (darwin)","dist":{"integrity":"sha512-L6CpZx+0TBekURmzvxqTA+mQAgU/gQqZj7GdaLsLlCuxfTOe5UCEMKUqCh5kyB1oFKUP0pjLcIyYkWpbvt+M3A==","shasum":"9ae2d7e2db6e98008165cfaf6d0c0286f965c693","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-2.0.0-alpha.2.tgz","fileCount":7,"unpackedSize":42781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFe0YCRA9TVsSAnZWagAAtSgP/0PaJT4sIloLrOB7c6VT\nyEPCA+m9j2SldVnNSpThEp1orLxCXe1cidqKaTtiw5eeF1GF9a616zdsNrNt\nzTQqFZpadfmhV2qAGNEe8ZvNDDDPeIU4jIvQlTQPjksZFqyKKxQwfbWEzdDa\ndVuj9/wghd4MtY3gM5Cwb/weXhRZQ0i5tP/RPWYai98Wl6wyQ4Bofa8+bQ1s\nbDCD8/blAYl22MeLEqtDEH0FBlgkc/mh0qLkrNkAtvBEfqNBmB0AqCf3jRNF\nahECMMylVO4xA5aoDYeLLqLp1/eEzzJAMzlX3EQnwmsWzbfZZnWLadAiytMY\nOw8iU/n98rcTPakflzoQui2upQT1PsizJqw6hFAeheq3xVSDIucmQdOE6Nxm\n4talA/9esVDbnYMbBcPUJ2io5Nm3CZX4bUkXRpgPfI/oOJQeJ3kIPU2T2SgF\nlSGZS0W5mx6cl1efay71TuA+o+u0RszD/YtAw2FQaBIO5bjuNHbKVcuOpQs9\nlrlQIKjygpTPx/50YkvXTGRfEZjIM4DVqKzeUc3vHivHAmKiryn4hxKkXrwc\naAe72mjVrhQrkYAm3NZxik0R2miQ4lw6II+5OZ8yPoN37mQ9L0gSvdWoebDr\ngNe6GT/y9ra0JywQdnWxoNejHFQ0VpfijCZDSFJR5m+gl5wdOnSUCtCgEtKH\nx+4B\r\n=nKdr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDapl3+/uvB/XM1ZxacJzyZIJnGVrysOOjWwShLmiI6gIgESqMx0RoTxx7KVoVWSKqoUlScGg/FNEEs+oCS3expdU="}]},"maintainers":[{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_2.0.0-alpha.2_1595272472251_0.24886677299293924"},"_hasShrinkwrap":false},"2.0.0-alpha.3":{"name":"@react-keycloak/ssr","version":"2.0.0-alpha.3","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/panz3r/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/panz3r/react-keycloak/issues"},"homepage":"https://github.com/panz3r/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"dist/lib/react-keycloak-ssr.js","module":"dist/es/react-keycloak-ssr.js","types":"index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf ./dist","prebuild":"npm run clean","build":"rollup -c","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^2.2.0","base-64":"^0.1.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-cookie":"^2.2.1","prop-types":"^15.7.2"},"gitHead":"05ea146d683363c6c06c9dc29cba3d34b24db9a1","_id":"@react-keycloak/ssr@2.0.0-alpha.3","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (darwin)","dist":{"integrity":"sha512-FdDIb9DNR8f1yE4hELtNWzVpJDpYibyKOYYRPkd+iTo4Nu56qs0qUGLM0SOCY68l6vSrzyVdWlIxO6uAT2IlHw==","shasum":"f1999f0bd90d80bdf2f381d30a8d989a6197c056","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-2.0.0-alpha.3.tgz","fileCount":7,"unpackedSize":42998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFxpGCRA9TVsSAnZWagAAetMQAJ2CDqjuRn0F+aZMKhPe\ntenBbCNMFme2GcnEukEOQSTXu5Sl9prLggAFAPGXD2Xhe6IjEdPQXQy30pZF\nUEKk8or25CQzlWfBuLXp2jsG1PohIcGFFPpqbhlYpUPv3APSa2+OPsq9RzAn\nDv9Bio1efdlEeLXLjUqXkbNPjsR3xy1g0D7nOpitIWxk7hNY1mIWKeCFq5fY\nBNB/oFsrP2XlLx1+Q+9h1iI9V+i2x4wfukPJ4idbc767x2xPh31MJlaF4bTJ\nF0G035O6ITlyVg6rPcgC+usj7ACCX0CJadTW3RxodDdHvC8lv9hWpKtFDP6A\nGGRoChkdrkbsCwYTvKErjQW0HWqRcRV1fNtp+rl/0c+8q5uswm1icsGdaDED\nwQQ9N7chidxBkbQ3+jhdiBFLZ6WzKGr03DbcYH80FwN8XPq2EzY6yAqGFbZl\nVSnDuViLBpMj2PS1T9ym49bRd7gD4mn/1zidnax145fYz5XzWlwsp1HO9A6w\nyyFYOM8vwRak0QGAd2K0HBBtdsyGuJZYHePuW5UV3vuH8hJIeslapL+p9Roi\nuZYziP0/2FAO6HWHtwW0kUjDH9uWCmlCOYUudFH4X8luLEZhVAjCrxSeTsXx\nbswDhmpgcuoRb4NANkoUAOGrXsGXgUJFao0PoiEZRksvYcSPEKQAmwtNQZor\nDVQ3\r\n=6Mlc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFKc5S8a++TOfYwFgHU1+2hub8m/4+aC/WrEECkzV8QNAiBwXPM2DKPrVWrNswCaJVhpDpblwJhjI+HKrKIK3KpEOw=="}]},"maintainers":[{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_2.0.0-alpha.3_1595349573514_0.22706559207680388"},"_hasShrinkwrap":false},"2.0.0-alpha.4":{"name":"@react-keycloak/ssr","version":"2.0.0-alpha.4","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/panz3r/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/panz3r/react-keycloak/issues"},"homepage":"https://github.com/panz3r/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"dist/lib/react-keycloak-ssr.js","module":"dist/es/react-keycloak-ssr.js","types":"index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf ./dist","prebuild":"npm run clean","build":"rollup -c","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^2.2.0","base-64":"^0.1.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-cookie":"^2.2.1","prop-types":"^15.7.2"},"gitHead":"404327f81f7488a56ebccbfc920e83ea840dabc1","_id":"@react-keycloak/ssr@2.0.0-alpha.4","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (darwin)","dist":{"integrity":"sha512-gPaS4RWQMZLv2+aYx4xMwC4Fd15ZCvqrFAcVMXS2YVyENbtdyL+4yjHJk8DuOIff+exwfp73UiczYqgjdmGeYA==","shasum":"653105829081c3b4b3f16572913a38a5c596b996","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-2.0.0-alpha.4.tgz","fileCount":7,"unpackedSize":43143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGJcUCRA9TVsSAnZWagAAdHAP/idXCFyELzfebl6pMn9k\n2bgmXbt0GpeDmnf07JxALCpIpLXCgb8T+c0iJsLDrUNzBTfjOs1/Ia7HL68D\noMyCR6/ZFfAASKYqRwnm5OZHz0kDgJXlYBUIkHxr/I3saCh6KmIj8rtewcv7\nlLXgbHUJ2XEE/7i3j91ls/vlPP+WSh7pWRtby8yio/m2ClMDPRXWdK2SkhmS\njy5Ns+WB3jOdvk8LMCx2VJfYW1RhnGc119HwJogfChx8dtP+fcdZNyQYO6QU\nC2DPMqC4ayYdleP9pxGtY3qGl+5DCwE3sO9f2ewP75UtnhCXHoecCAzLyOrR\nbLFKBLN55JIs7IaRK33XZW7dxT5/sT8JK1exRGOwqLitN2dsAQczolBPmnj3\no1tAg4SV3eDTQtUANPU5duq8Y7Jj0Z/v1Keliak7DEk/2QVBFHR1BR7DECW+\ntuaDQG3o6Nnqa+4cEXk42bB0GcuS4bxzG5Bboo48HQhE0wqXK42q49Tu22oH\ndjmDQ2UZQtwO96WdSdhGXCdzy+STtZBD9k3MjNWr6zLkueEH73AluYg+NJYc\n+B0EckV9qBthVdvLug9b2zGry2AMBBZMeILhknaVSEm7f+1mZ5H4uvBrABsM\nGf1eiDuH73mZRh+RPXzbjVGY/6RN7X5yXixSx1tsofatJpjLd2qDSIcL1kjR\nxeFD\r\n=u2cT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA1XDBE3cRmFBVnC1csJ/TCST5SsIif2Br5GxZOwCeyAIhAPKZpXpyiusu8PKb/3CHkxnd5N5PBU3ORRkjM6z/oLXc"}]},"maintainers":[{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_2.0.0-alpha.4_1595447060149_0.18489548267759237"},"_hasShrinkwrap":false},"2.0.0-alpha.5":{"name":"@react-keycloak/ssr","version":"2.0.0-alpha.5","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"dist/lib/react-keycloak-ssr.js","module":"dist/es/react-keycloak-ssr.js","types":"index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf ./dist","prebuild":"npm run clean","build":"rollup -c","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^2.2.1","base-64":"^0.1.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-cookie":"^2.2.1","prop-types":"^15.7.2"},"gitHead":"59e968f42980d83a5fa78269173a5a730a12a597","_id":"@react-keycloak/ssr@2.0.0-alpha.5","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-mhvaMXoCg/FMUKlt5E66T8PndpWJHwZ8rtOIkRKKMDRKSgb7JdnKmd0p9e3PFE2To0asFHJ+kyXA9ymcNjRBlg==","shasum":"268a4ba58e965a1ef19b762294629eea9a863151","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-2.0.0-alpha.5.tgz","fileCount":7,"unpackedSize":41325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfP8ISCRA9TVsSAnZWagAAMbgP/1E8K1NvqptyZlvQnL/l\nmJDfLKDnHq4MPMi5xIkeKmbptvfWuU70l2HBUBBT7lZSIEgbn/A99nbK87cm\nh/Lef0j+srULWhv9xJMqcpeJuEedixVKy0bosgsMijsSYgR3U9g9fYUvY3Dt\nIZMuIayMABnVGY7tkSs9vQVwWo/EHogXvjxf/018JDOe0G/g/mmDpWAE37kt\nmjPu4j/T2jTV7Mfvpe0Ix9lRv08JUoal8RoyxZowfR1k+UtT9HDGvp4DVQ6c\nUxlUrz1cadShYFLXPNk6bEvihNcxjlHgqhnVEOw8e608TKj3za29gbNw4ZOb\nNx+M1qRTszTrMRyQjve3NiLzP4XSUEV+qKQbwgnLBee99h36M7htUUWhLc5/\nwSt44LLQoYqleg4Q77UjjSD9UUdGFYHeDITTPwP7tuQ53RCEBwbRtawM2BIy\ngH8vqNubtljU1Ch2/nch2PyqRwU/GmjuDvzwcvkNTiOhv/E2EQHKeDcnhWPT\nKmNEkLALujcG2/VqCsuHK9+Taybvu/TLXbgkfvusao+UIv6jf4fXrYJJExny\nSA+5k3IyzfBmkYu6Uwzn/AhnYD0n+MYccZdEiBdooZGlIEWEXTr2l4Hkf7P5\nSQUJpDtRewg+LOG7Jhuzzh0KpL8JUbtjb4er05srQbDXBI+eF9Lr+EbFt9zw\nBw+l\r\n=RUSx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICit276ff9SK6h7UwiNwaDCwXvElfC0LqiBXtbPafS1vAiBGn5az1b/Z4b+Tg8GL0ebq5SmwpXDgW7Q+LLMMTPrsSw=="}]},"maintainers":[{"email":"zimzum4@gmail.com","name":"irontony"},{"email":"mattia.panzeri93@gmail.com","name":"panz3r"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_2.0.0-alpha.5_1598013970140_0.08826048773119544"},"_hasShrinkwrap":false},"2.0.0":{"name":"@react-keycloak/ssr","version":"2.0.0","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"dist/lib/react-keycloak-ssr.js","module":"dist/es/react-keycloak-ssr.js","types":"index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf ./dist","prebuild":"npm run clean","build":"rollup -c","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^2.2.1","base-64":"^0.1.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-cookie":"^2.2.1","prop-types":"^15.7.2"},"gitHead":"a647dc1f7b7d785616ff6ca3354d76c67f6f2d00","_id":"@react-keycloak/ssr@2.0.0","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-qTQnCJQdYPUmf2mkcJHA7qeN8VkyvtYJ0AZPsJ8bXUpZVL8LK1aB8Jak1Rx1zWtk5tzbLEQWmW/wj9R1dZ+N3w==","shasum":"0993eb00a8d9c790aef7b6faec66f65e759adc65","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-2.0.0.tgz","fileCount":7,"unpackedSize":41317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfP8hbCRA9TVsSAnZWagAAMacP/iPZbuZi0F6+ikxQ1yyO\nuQ89PVLrVMI9Oj76vQLNF4w8OLSRuXMQh1QFbtwGObrJgk97CpMHJ7P3rWpy\nmxHyuTFaaN1i8fe6qXhNswz/2GaIWuo8bjTZjEA3w2tFqHDI9SwgvlYcdxAl\nHu0EQW19rhvRPdwxUXrTyzFwrV+qGQs2OHZ+/C79LBrB2rdpkqhfuzqtm6pL\nzaTtFSPIBZU70Eo7wYCEYpbmhVyezq4WKWV+OmdH8ZYt7bjMwYy8v5iWESJW\nwRTMQwmnree1vFDbGD/ffhiAUi80mDM7lErz89C7GTKMY29t4n8emnGkJ5lE\nstAWV3dBqqbOBRE9pUlvtlj9GMutv0MuktY9EaPhv0AFLacFO/ZiiRm5rQo1\nCY0vl04fP+B6IlQyuff+45k2Ajc3TRL5B3Q+ym21db9U02RRks8rCRnEENEO\n1r4VMVYFwuX6uF5NXPNWGxZXCPabDf6VdMWZvt3FUH9MQtww5qecpMWxJdD9\neP6T5WnDj2QXI8H3bsmeHTlJaFjrWoYvk9MQzS2UG2AHF9nqzRjtbwCFAUsa\n0kHJPnoruWuVAiaeMDKhmn3zQQh5vyIfHDhgE+ntwv+5T4yyQBbRHTQM+jc+\nc6EMAleXsYV63Vp+eva8BX+UY38x9XnjWzANHnvkyUuzoPDcV0iu85QQJZu4\ndvrZ\r\n=8YZF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBsEzht5wkF+4HVsP+lKlYBYpfZDwTcfPppCxf7cQC5AiEAztDE0jBKHm2wzinrDk1biTyVe7tPEe9ueVnObjX7Y1w="}]},"maintainers":[{"email":"zimzum4@gmail.com","name":"irontony"},{"email":"mattia.panzeri93@gmail.com","name":"panz3r"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_2.0.0_1598015579114_0.1846681462402988"},"_hasShrinkwrap":false},"3.0.0-alpha.1":{"name":"@react-keycloak/ssr","version":"3.0.0-alpha.1","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"lib-commonjs/index.js","jsnext:main":"lib/index.js","module":"lib/index.js","typings":"lib/index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf lib lib-commonjs","prebuild":"npm run clean","compile:commonjs":"tsc --module commonjs --outDir lib-commonjs","compile:esnext":"tsc --module esnext --outDir lib","compile":"run-p compile:*","fixmaps:lib":"tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-commonjs/**/*.js.map'","fixmaps":"run-p fixmaps:*","build":"run-s compile fixmaps","test":"jest","test:coverage":"jest --coverage","coveralls":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^3.0.0-alpha.3","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-base64":"^3.4.5","js-cookie":"^2.2.1"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom"},"gitHead":"6b601dd2b2d0cf11f8edda4b90a8b0cc968708df","readme":"![React Keycloak](/art/react-keycloak-logo.png?raw=true 'React Keycloak Logo')\n\n# React Keycloak <!-- omit in toc -->\n\n> SSR bindings for [Keycloak](https://www.keycloak.org/)\n\n[![NPM (scoped)](https://img.shields.io/npm/v/@react-keycloak/ssr?label=npm%20%7C%20ssr)](https://www.npmjs.com/package/@react-keycloak/ssr)\n\n[![License](https://img.shields.io/github/license/react-keycloak/react-keycloak.svg)](https://github.com/react-keycloak/react-keycloak/blob/master/LICENSE.md)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![GitHub contributors](https://img.shields.io/github/contributors/react-keycloak/react-keycloak)](https://github.com/react-keycloak/react-keycloak/graphs/contributors)\n[![Github Issues](https://img.shields.io/github/issues/react-keycloak/react-keycloak.svg)](https://github.com/react-keycloak/react-keycloak/issues)\n\n[![Gitter](https://img.shields.io/gitter/room/react-keycloak/community)](https://gitter.im/react-keycloak/community)\n\n---\n\n## Table of Contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Support](#support)\n- [Getting Started](#getting-started)\n  - [Setup](#setup)\n  - [HOC Usage](#hoc-usage)\n  - [Hook Usage](#hook-usage)\n- [Examples](#examples)\n- [Other Resources](#other-resources)\n  - [Securing NextJS API](#securing-nextjs-api)\n  - [External Usage (Advanced)](#external-usage-advanced)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Install\n\nReact Keycloak requires:\n\n- React **16.0** or later\n- `keycloak-js` **9.0.2** or later\n\n```shell\nyarn add @react-keycloak/ssr\n```\n\nor\n\n```shell\nnpm install --save @react-keycloak/ssr\n```\n\n## Support\n\n| version | keycloak-js version |\n| ------- | ------------------- |\n| v1.0.0+ | 9.0.2+              |\n\n## Getting Started\n\nThis module has been created to support `NextJS` and `Razzle`, other SSR frameworks might be working as well.\n\n### Setup\n\nFollow the guide related to your SSR Framework and note that `SSRKeycloakProvider` also accepts all the properties of [`KeycloakProvider`](https://github.com/react-keycloak/react-keycloak/blob/master/packages/web/README.md#setup-keycloakprovider).\n\n#### NextJS\n\nRequires NextJS **9** or later\n\nCreate the `_app.tsx` file under `pages` folder and wrap your App inside `SSRKeycloakProvider` component and pass `keycloakConfig` and a `TokenPersistor`.\n\n**Note:** `@react-keycloak/ssr` provides a default `TokenPersistor` which works with `cookies` (exported as `ServerPersistors.SSRCookies`).\n\nThe following examples will be based on that.\n\n```tsx\nimport cookie from 'cookie'\nimport * as React from 'react'\nimport type { IncomingMessage } from 'http'\nimport type { AppProps, AppContext } from 'next/app'\n\nimport { SSRKeycloakProvider, ServerPersistors } from '@react-keycloak/ssr'\nimport type { KeycloakCookies } from  '@react-keycloak/ssr'\n\nconst keycloakCfg = {\n  realm: '',\n  url: '',\n  clientId: ''\n}\n\ninterface InitialProps {\n  cookies: KeycloakCookies\n}\n\nfunction MyApp({ Component, pageProps, cookies }: AppProps & InitialProps) {\n  return (\n    <SSRKeycloakProvider\n      keycloakConfig={keycloakCfg}\n      persistor={ServerPersistors.SSRCookies(cookies)}\n    >\n      <Component {...pageProps} />\n    </SSRKeycloakProvider>\n  )\n}\n\nfunction parseCookies(req?: IncomingMessage) {\n  if (!req || !req.headers) {\n    return {}\n  }\n  return cookie.parse(req.headers.cookie || '')\n}\n\nMyApp.getInitialProps = async (context: AppContext) => {\n  // Extract cookies from AppContext\n  return {\n    cookies: parseCookies(context?.ctx?.req)\n  }\n}\n\nexport default MyApp\n```\n\n#### Razzle\n\nRequires `Razzle` **3** or later\n\n> **N.B:** This setup requires you to install [`cookie-parser`](https://github.com/expressjs/cookie-parser) middleware.\n\nEdit your app `server.js` as follow\n\n```js\n...\n\nimport { ServerPersistors, SSRKeycloakProvider } from '@react-keycloak/ssr'\n\n// Create a function to retrieve Keycloak configuration parameters -- 'see examples/razzle-app'\nimport { getKeycloakConfig } from './utils'\n\nconst assets = require(process.env.RAZZLE_ASSETS_MANIFEST)\n\nconst server = express()\nserver\n  .disable('x-powered-by')\n  .use(express.static(process.env.RAZZLE_PUBLIC_DIR))\n  .use(cookieParser()) // 1. Add cookieParser Express middleware\n  .get('/*', (req, res) => {\n    const context = {}\n\n    // 2. Create an instance of ServerPersistors.ExpressCookies passing the current request\n    const cookiePersistor = ServerPersistors.ExpressCookies(req)\n\n    // 3. Wrap the App inside SSRKeycloakProvider\n    const markup = renderToString(\n      <SSRKeycloakProvider\n        keycloakConfig={getKeycloakConfig()}\n        persistor={cookiePersistor}\n      >\n        <StaticRouter context={context} location={req.url}>\n          <App />\n        </StaticRouter>\n      </SSRKeycloakProvider>\n    )\n    ...\n  })\n\n...\n```\n\nEdit your `client.js` as follow\n\n```js\nimport { ClientPersistors, SSRKeycloakProvider } from '@react-keycloak/ssr'\n\n// Create a function to retrieve Keycloak configuration parameters -- 'see examples/razzle-app'\nimport { getKeycloakConfig } from './utils'\n\n// 1. Wrap the App inside SSRKeycloakProvider\nhydrate(\n  <SSRKeycloakProvider\n    keycloakConfig={getKeycloakConfig()}\n    persistor={ClientPersistors.Cookies}\n  >\n    <BrowserRouter>\n      <App />\n    </BrowserRouter>\n  </SSRKeycloakProvider>,\n  document.getElementById('root')\n)\n...\n```\n\n### HOC Usage\n\nWhen a page requires access to `Keycloak`, wrap it inside the `withKeycloak` HOC.\n\n**Note:** When running server-side not all properties and method of the `keycloak` instance might be available (`token`, `idToken` and `refreshToken` are available if persisted and `authenticated` is set accordingly).\n\n```tsx\nimport { withKeycloak } from '@react-keycloak/ssr'\n\nconst IndexPage: NextPage = ({ keycloak }) => {\n  const loggedinState = keycloak?.authenticated ? (\n    <span className=\"text-success\">logged in</span>\n  ) : (\n    <span className=\"text-danger\">not logged in</span>\n  )\n\n  const welcomeMessage = keycloak\n    ? `Welcome back user!`\n    : 'Welcome visitor. Please login to continue.'\n\n  return (\n    <Layout title=\"Home | Next.js + Keycloak Example\">\n      <h1 className=\"mt-5\">Hello Next.js + Keycloak 👋</h1>\n      <div className=\"mb-5 lead text-muted\">\n        This is an example of a Next.js site using Keycloak.\n      </div>\n\n      <p>You are: {loggedinState}</p>\n      <p>{welcomeMessage}</p>\n    </Layout>\n  )\n}\n\nexport default withKeycloak(IndexPage)\n```\n\n### Hook Usage\n\nAlternately, when a component requires access to `Keycloak`, you can also use the `useKeycloak` Hook.\n\n## Examples\n\nSee inside `examples/nextjs-app` and `examples/razzle-app` folders of [`@react-keycloak/react-keycloak-examples`](https://github.com/react-keycloak/react-keycloak-examples) repository for sample implementations.\n\n## Other Resources\n\n### Securing NextJS API\n\nWhilst `@react-keycloak/ssr` can help you secure the Frontend part of a `NextJS` app if you also want to secure `NextJS`-exposed APIs you can follow the sample in [this issue](https://github.com/react-keycloak/react-keycloak/issues/44#issuecomment-579877959).\n\nThanks to [@webdeb](https://github.com/webdeb) for reporting the issue and helping develop a solution.\n\n### External Usage (Advanced)\n\nIf you need to access `keycloak` instance from non-`React` files (such as `sagas`, `utils`, `providers` ...), you can retrieve the instance using the exported `getKeycloakInstance()` method.\n\nThe instance will be initialized by `react-keycloak` but you'll need to be carefull when using the instance, expecially server-side, and avoid setting/overriding any props, you can however freely access the exposed methods (such as `refreshToken`, `login`, etc...).\n\n**Note:** This approach is NOT recommended on the server-side because can lead to `token leakage` issues (see [this issue](https://github.com/react-keycloak/react-keycloak/issues/65) for more details).\n\nThanks to [@webdeb](https://github.com/webdeb) for requesting this feature and helping develop and test the solution.\n\n## Contributing\n\nSee the [contributing guide](https://github.com/react-keycloak/react-keycloak/blob/master/CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.\n\n## License\n\nMIT\n\n---\n\nIf you found this project to be helpful, please consider buying me a coffee.\n\n[![buy me a coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoff.ee/4f18nT0Nk)\n","readmeFilename":"README.md","_id":"@react-keycloak/ssr@3.0.0-alpha.1","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-mEEhBYLEeTgybkZJVMrzgye9UWJXH0uiPPDjZWhOW/C/sDlR47C41FE3A379qHtND2F7Y0l/D5BYn8pL8NevpQ==","shasum":"4bf9c8e30c16e37f1de6b71916f0ed7235abd66f","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-3.0.0-alpha.1.tgz","fileCount":76,"unpackedSize":89482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVP9PCRA9TVsSAnZWagAApmEP/jN2XYuIz+XEYHla4UJY\nuBZcmZnqD2NlqtJCSYPkIwKdUetQYKbqPk5VoJTOW+js9oZjsQuW61BC/0Ct\nOVtev8QysMwOQjUcMesBnUJlTkMQP5O2Pixa47ylpdJ8nU9TXhSwoEDPH9ya\nGlC75mXAXcBcVFB98v2LMncvDdiv2cwiIAe12nr2GvX4yOaaTJ9og1oChfJO\n9R8S8hZXYcz+gYYwWQLdSrXi1T5y60UFya8CkcJX5kA+mv+DYamqKkBxDfkw\nL3O6EsiJBPfD00V66Ptlp755kFttiIGpEmkLTYiEPsV/9/8fAeoWfrms937X\nKIVP5uoOVv3Jrm0tDtXUjpRCvBb3gy7DoO9VA8+0XoCLsB/yCmfqkBMxz+VG\nwIJKDnEuWIlN/NsaObjeQOXpa5Vfpri+SL1NZlUirARH903YfjOjtRAuv+vO\n3ODXq6/ItGmD84fYQwDIKK9VyzrTOYsFll7nc4WRnNdS285TzQ6bG40aGzr0\niyxTycrTw2ln3+aSY8iG1RD5yRG68jfHR0vdI+uVFAcUVepOmidZwwfchK5i\nm+tL6EmxYhZ0IMBLSRn8XBlvvimNZ632l5fl83eJxli42OFWv+aTbB92QN7R\nS/+Vy4ZGgnlDQ3jodL5vER4oiKdJJERQy5e4+csCihDT352lsl1Y8Szmp2PU\n1aZz\r\n=RLLE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKSMp9Os3g+RmBZJB8p5jGuH23Q+Px7slOn0r+IhQnDAiEAuKIgsLqb++4IeRQaPxjtvqSXz2g1Ty9rZaBpAeoF018="}]},"maintainers":[{"email":"zimzum4@gmail.com","name":"irontony"},{"email":"mattia.panzeri93@gmail.com","name":"panz3r"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_3.0.0-alpha.1_1599405903227_0.2572314044463335"},"_hasShrinkwrap":false},"3.0.0":{"name":"@react-keycloak/ssr","version":"3.0.0","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"lib-commonjs/index.js","jsnext:main":"lib/index.js","module":"lib/index.js","typings":"lib/index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf lib lib-commonjs","prebuild":"npm run clean","compile:commonjs":"tsc --module commonjs --outDir lib-commonjs","compile:esnext":"tsc --module esnext --outDir lib","compile":"run-p compile:*","fixmaps:lib":"tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-commonjs/**/*.js.map'","fixmaps":"run-p fixmaps:*","build":"run-s compile fixmaps","test":"jest","test:coverage":"jest --coverage","coveralls":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16.8"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^3.0.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-base64":"^3.4.5","js-cookie":"^2.2.1"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom"},"gitHead":"c5fe6bce2cc77a670b48ea398c627866f123ba70","_id":"@react-keycloak/ssr@3.0.0","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-52ODkhqLgpz/E7e0uJU2lniOA96MNrH7N7pZljQ2umpYw0LsIt9Ea9rYvhV/WiHkYc1x05K+hDQuv2P1ZAoZjw==","shasum":"6d363fa526e328513844ab5923c14cf0f824c8c2","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-3.0.0.tgz","fileCount":76,"unpackedSize":73817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfed0bCRA9TVsSAnZWagAAUu0P/17nm6du7J8D74Jc1zOY\nwxWLgOfcNZc2f5H890UyjAhi4R3VoEatwnXnQc0QJp5BwDEKGBoKYq5axexC\n6l8S4LH2ZPdrcphB2JleFOoPauk1xS46ft5EaJZKXRaB1w++4qOjdUcLN/z5\nJ6Ef9Y1sSnhFyAF4dQoQ3yvgekCvY1/YuEMD3UK0PW53DSQqgLvrf3tdx/fv\nnVmx8mFJnU6lyFoDsUtjXaW/b7ehbKwVLSbcBah/A2pwf3GwJNh6NpKu0QcV\n15Oe1Y0w0pDyMjoAA83dPQbtzA8Qsk4BY7ahJY2DZqQ1wFcecPKR7BYI6TFq\nmkYB5KoDe4Aac8miA5JVgjs3/Wtgu00av6kMusFCbb94Mgp8zRjJ5U85g1LV\nRao3H+VjNaQOJvDhxVkQxgEkD79fiq86GBVHLsABlrEkordxOGUGl3vBN+7t\nKF4Achav6j9mB7X9k16m0kEf3lz+LC8m9Bp4hfAUtVGjWxXfVKYhQo4K0HA+\nqT1vbtTEnSG1tXj3Zbva4nF+U42H/td8tk84yxbBxxuzcW3b08/x2++w6kdE\n1V8qjgRvnpgKvyxu7w0Des66O/PPRRsJcQEhJyk9+wt2dZVD6qWAwFYJgmwv\nd8LNiYSJgki1JerRNu6L/IYMg1xTe/DVEecLpAVWfXU2w/x/499Tn0MVQCgN\nxCb+\r\n=U4sV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBhqPIuDUOlB7020aKFVYjH2sl9NcF0/PfLJ+iNSPONvAiBDDtuSxpX/y8hLpZHIiSyj8P5VPRq1SJcC/JJIoLYQGA=="}]},"maintainers":[{"name":"irontony","email":"zimzum4@gmail.com"},{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_3.0.0_1601821978538_0.12966955631438415"},"_hasShrinkwrap":false},"3.0.1":{"name":"@react-keycloak/ssr","version":"3.0.1","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"lib-commonjs/index.js","jsnext:main":"lib/index.js","module":"lib/index.js","typings":"lib/index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf lib lib-commonjs","prebuild":"npm run clean","compile:commonjs":"tsc --module commonjs --outDir lib-commonjs","compile:esnext":"tsc --module esnext --outDir lib","compile":"run-p compile:*","fixmaps:lib":"tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-commonjs/**/*.js.map'","fixmaps":"run-p fixmaps:*","build":"run-s compile fixmaps","test":"jest","test:coverage":"jest --coverage","coveralls":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16.8"},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^3.0.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-base64":"^3.4.5","js-cookie":"^2.2.1"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom"},"gitHead":"b90d59ef87f027ee92205f9d6c8ac4b99a49fe17","_id":"@react-keycloak/ssr@3.0.1","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (darwin)","dist":{"integrity":"sha512-Az9j2ng/1MRIQgTka9qFtCwzagd4ycrBVqIfuMx/+xbFP4K5zLjeythN0s7l/AINUdxiyfSmj9lsqecEqwN0Kg==","shasum":"670b85fad16a76d13a7bf5fab905c23a31812e1c","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-3.0.1.tgz","fileCount":76,"unpackedSize":74319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjEbzCRA9TVsSAnZWagAAIdcP/3yZYeZiUmhbfuRYanIr\nwHM4dq7WJt+EguS0AHiKgCFjv96HYc1dhRSZQ095j2BsLWTWgeH0C/Wu2iyE\nJLYe1BiGaai+/1JtKWyUicTU8QecEapYzlr4o88X9VdrzPQFyQuk3upgZGmf\nfL3vNT3emxoyA8MDKcw217W9b3VCag58B8pyNlNpiv4p8E1lj8D78kRdKtsy\nxkc2i6Qs3uAuwECiSbCr31CoxRUHH7sUNTnavNYYlGlFkH/I1M7c9lBX0iXT\nCdo3UEeT/aN3GJ2L3Kbkv53KKjAp4eiKR4pCACBvQpHn/XH4Dt6+uMM4Qawi\nHTHv5DFIVbCADzsSr25QGRPGAu/eRsxzJeDUAtDP6tTzmZUCGxVg8mbcEb1U\nuxkFMHNjnedM6/dQ50xI9yn8FAHN06nMBSS+B6hAdeHogO3f39oyyzDKqPNR\nRogLVGAMrFCpXR9yy5B6tirstvVHH0Zx5tzBGMBuy8zNJWsik9V3bCdIRQ5a\nDhqNsYUPrPw+i/GDs06PHV8/upLu5sUQjt/g5Nmn/6y1FY2OlFetKvvTTerP\nDWvoudszJvOjqT85wgrRxZ/3gqlKUf9efJLvAIYuZDxioawRxTzFCmnJ06G3\n1ZImUzN6vvYTHZ2aNtr+QZURLUZ29GzzmeMoTveSW5bdcaeUKvi/FL+isSLD\nN9qh\r\n=pLCa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICEoKiBSRt9lX+9JPcZz2ddVyhLkt52opzss+W8w8GHAAiEAmaahBX6fpMmL6hl9HjZ7SufntPLATGXKgawccOyLKKo="}]},"maintainers":[{"name":"irontony","email":"zimzum4@gmail.com"},{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_3.0.1_1603028723199_0.0414927227889359"},"_hasShrinkwrap":false},"3.0.2":{"name":"@react-keycloak/ssr","version":"3.0.2","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"lib-commonjs/index.js","jsnext:main":"lib/index.js","module":"lib/index.js","typings":"lib/index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf lib lib-commonjs","prebuild":"npm run clean","compile:commonjs":"tsc --module commonjs --outDir lib-commonjs","compile:esnext":"tsc --module esnext --outDir lib","compile":"run-p compile:*","fixmaps:lib":"tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-commonjs/**/*.js.map'","fixmaps":"run-p fixmaps:*","build":"run-s compile fixmaps","test":"jest","test:coverage":"jest --coverage","coveralls":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16.8","typescript":">=3.8"},"peerDependenciesMeta":{"typescript":{"optional":true}},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^3.0.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-base64":"^3.4.5","js-cookie":"^2.2.1"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom"},"gitHead":"34412dd9d61f674f4b08c7f6840e8226cf5c18e8","_id":"@react-keycloak/ssr@3.0.2","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (darwin)","dist":{"integrity":"sha512-un3+URibWHmDzvCmhg1K7uktQo3MKgMRBKqDqD6QO82HQQrKt82EAIIO4QtWJe0HFuOsA9VyeO8np6VI5eyL/w==","shasum":"10f99a696ed3e5dd773f5f6eef6ea1763e2a9ec2","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-3.0.2.tgz","fileCount":76,"unpackedSize":74816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjF/uCRA9TVsSAnZWagAAciEP+wYsl9kYYq10rSW7C+kF\nG1F4oPLwFwzX4kp51RHHAwaMSZDyZsog5zGBbdVl5tcx3LdFoiL6QW0ezmx+\nymRu1ZnuGFs2utq6x6Y8CfLUvX0pVXKxlPaSr0wi7bxMnwgB5d7LApmdk4Uq\nz/+7Xn6KmIqFgzZQAJpeDKPWTNT+ptsVxkdOD6ogiVe1P7IXd5a2yh+nDe8G\nRJ4ib8requ1aQG9xzafFb2YUPXA9oWOyorxEI88twEr+frfgP5T5xRD7U0i6\nPUgCLDDZwPpHxDxtxT8ya32EoYjo5rqNOYuapMnpFrAP8Ly0rBCjCtQMTnOs\nHlrotYtoGi012mt8QcNl93fjbgaxJbI5pNapJWhBw4A3xjB5wqZ+3c/7nM03\ngUBtEefFfdG3sG+53fSKTxYOYhI5ANW3Rtt/8ccnXO0ga8lpFjwENkF4FKFd\n8vI0ZJZlVy5JACBJxAl1m8YqH0uOc+yE9AToUr7eIdmqfRjEFqvHLVy1idyw\njnVbzU1Mi9ecPujE6FRB5QCjkG8uuhu+/VTRbJN4TTBRZxdV6gmrO1I1TiYJ\nGX2Dp26CM9NMNJIEPuQi2f/x2/Gg4t34n5oFCddax6iSpNzlYifSIOr6mnTR\n2oTGOvo5bvXv18JRqd9k67WFfGJKj6A7xX9eAFYft4a4p0ITyzzBrwSEtEzo\nUiJB\r\n=gwBF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDU8ypKiPRhAzFbsaRzuKBCWYfKxMDyO4EouL9RRow1+wIgbdFAcZ/PHvBa/yntFpnNoj9hoFT3hycfOBdTCbr7WNs="}]},"maintainers":[{"name":"irontony","email":"zimzum4@gmail.com"},{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_3.0.2_1603035117594_0.34036985927080043"},"_hasShrinkwrap":false},"3.1.0":{"name":"@react-keycloak/ssr","version":"3.1.0","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"lib-commonjs/index.js","jsnext:main":"lib/index.js","module":"lib/index.js","typings":"lib/index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf lib lib-commonjs","prebuild":"npm run clean","compile:commonjs":"tsc --module commonjs --outDir lib-commonjs","compile:esnext":"tsc --module esnext --outDir lib","compile":"run-p compile:*","fixmaps:lib":"tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-commonjs/**/*.js.map'","fixmaps":"run-p fixmaps:*","build":"run-s compile fixmaps","test":"jest","test:coverage":"jest --coverage","coveralls":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16.8","typescript":">=3.8"},"peerDependenciesMeta":{"typescript":{"optional":true}},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^3.1.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-base64":"^3.4.5","js-cookie":"^2.2.1"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom"},"gitHead":"c2a129f1c212477afe177326f6fdfb77786f7421","_id":"@react-keycloak/ssr@3.1.0","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (darwin)","dist":{"integrity":"sha512-hcudq8aLYik8MCGeYptKtr7etnd/hkJSbbo1pKJKzZSCmSc+Ry1N7X7HA0/P7PmaNHamEGyVq6G4IHorbVbUFQ==","shasum":"39c3d1c950e56fba104ec463f86ea9b4fe8cac35","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-3.1.0.tgz","fileCount":76,"unpackedSize":73377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjKQzCRA9TVsSAnZWagAAnVgP/iTwKzxdl0PIlDqfFZBK\nap0rIWCgbT58RQ6Z/LMh3tkfMbE2S85IcBczTxm/HeTUYQ07FYyQMVd+eu5h\n5VvAcHp58WOY+Oh+0zJgN5pzCZYj8HHtdChWFSkTx7AWBcOr1qoHNfGKUnFr\n6nkO/+9FL8oWNsn6y7uDjhDQN7d47fPZvHukn04Lwxapz6HJr4q58WZvXZFV\noEAsMIiWCtfeBsBl8rRzRmPuRttNtHa6XdZ70Nc59sZ1k9j0pN9UX8d71iPJ\ncLaPYYkSrGLjNYf2CFdDiBwOzxpuMDdv2U2bbayX6d0vYg3naZwqvvJwId0M\nt+iqsv4wuxhZLJ+Nl+tFi2LiJvvY2WkcW1rv9cLU46q4NHwpI70NKOZcoh8V\nLf9VZo0BwN8/dx7MIv+qa7y+6Y4RzswolJsS5YJNnFRL50KzhkvHXbtQ1lt0\n1mrZwRE0IrXxLsMGSUt7JNzIU+33QFL8o7pWNgXQQ2XrogmkT3+84Y+8Svez\n3y+dX8Y4UzdQ0EvQ5v423z3PoLbcjZBdEmw2P8/uEhxUrBPmbbP5T/nayPA0\nTepN4PTG9wKPcQnlKw7LBr9349g6kewK0MpXt2aZLuamvhkxwSO5gWwjug0b\n2C2Ks3DYvI86LmsCdJdaDaTSzS35W6ioljF09SHuFJrmgggEykVdKgtRmLGs\nXRRc\r\n=EhcE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtCE0EYc3Nb/tqQL7F4uvJcVxuT/JVv01F7BXjZ1wf2AiEAuerVga0fWtQCg+ei8TzE7pBDlTKjNlpU+B3jI0/rIrk="}]},"maintainers":[{"name":"irontony","email":"zimzum4@gmail.com"},{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_3.1.0_1603052595421_0.8015315245296528"},"_hasShrinkwrap":false},"3.2.0":{"name":"@react-keycloak/ssr","version":"3.2.0","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"lib-commonjs/index.js","jsnext:main":"lib/index.js","module":"lib/index.js","typings":"lib/index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf lib lib-commonjs","prebuild":"npm run clean","compile:commonjs":"tsc --module commonjs --outDir lib-commonjs","compile:esnext":"tsc --module esnext --outDir lib","compile":"run-p compile:*","fixmaps:lib":"tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-commonjs/**/*.js.map'","fixmaps":"run-p fixmaps:*","build":"run-s compile fixmaps","test":"jest","test:coverage":"jest --coverage","coveralls":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16.8","typescript":">=3.8"},"peerDependenciesMeta":{"typescript":{"optional":true}},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^3.2.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-base64":"^3.4.5","js-cookie":"^2.2.1"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom"},"gitHead":"6031128e3f1b348c6162347f063b74d596471321","_id":"@react-keycloak/ssr@3.2.0","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (darwin)","dist":{"integrity":"sha512-ZRtehV3ZYAmuFVYa+AZlO7WhB4sr6b0vDOAi+uQqVWGAZ/vosEUECMf40sgjZNWIzklShYqA+Vnn5wNvguma7A==","shasum":"872fe9718cb3393dc53b17f938ddcaba0b2af5a6","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-3.2.0.tgz","fileCount":76,"unpackedSize":75178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjMErCRA9TVsSAnZWagAAxNUP/1EqusjjizuRZO/q77YP\nXzO8LEIAHVXmhjqyrtuxWUj9oKPFZ1moYy8ZrLGoKjlYHbTXE7kvKPJuO/qs\n3fDUD/JF3mjhEwrhFdyep5EiYlqn9GQQ/DQea+afzMhL4Q+sHq4VPaVkmPiP\nI+45OfE7Bus5MYs9WtJsViI80iYRjMwn04PV/jSyWmC7BnrmEA6WLa9II4QM\np9XNeq8CK/9mpXQfZa9vs2jYrlWW52YNM5EayQXJ4DC3QbuvMLxPtidLOtkl\nFM2lscyj6u7WI1Wb+JBTe2At+W+cT7gWltjfFh8EqNSSe25nZSw4hg3nLsvC\n4NSw8HmRjU+oba/ffk8LzrJa9U17uDTuU2XgIqV9T1YOR3fmsWvrCg7c1oWG\nJDNCEgRnG2OfZNY+0kU3Rb6G6aSymzWza7Q4FL3sToKthrVYueW6pNrdryTz\n6EwSrPG/rtedNLGN/9i9KiaB/jdJvVldYprVX/+xWGwGfkHQBGHKZi/Pr5Hh\nxz1wujBzzY/JTCoMwpgRArqDBkGWHolebhLhVWi2qfnYIcJUeyW02Kyh0hdM\nWb8RQhI10VN/87MTByra8uucJJmJyB0fT6xNbGB/9/2JhKdz99X1AxFi57KX\nlIfW/1gcAPknBBMbPjku8wrNeNJw60mKKD+L5gtJBvgDCmsTXP5dmm0JTKeA\ndy7V\r\n=SjhU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgsGSNMZ7buucTjVWoHKi7NMEtDCqVTLYzoI81LiuSVgIgRBc+Zu8MBQZ9vZyBOhX+j2vjafeKvFy0XRhhbkT91EM="}]},"maintainers":[{"name":"irontony","email":"zimzum4@gmail.com"},{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_3.2.0_1603060010759_0.7014478646767883"},"_hasShrinkwrap":false},"3.3.0":{"name":"@react-keycloak/ssr","version":"3.3.0","license":"MIT","description":"SSR bindings for Keycloak javascript adapter","repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"main":"lib-commonjs/index.js","jsnext:main":"lib/index.js","module":"lib/index.js","typings":"lib/index.d.ts","publishConfig":{"access":"public"},"funding":{"type":"patreon","url":"https://www.patreon.com/reactkeycloak"},"scripts":{"clean":"rimraf lib lib-commonjs","prebuild":"npm run clean","compile:commonjs":"tsc --module commonjs --outDir lib-commonjs","compile:esnext":"tsc --module esnext --outDir lib","compile":"run-p compile:*","fixmaps:lib":"tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-commonjs/**/*.js.map'","fixmaps":"run-p fixmaps:*","build":"run-s compile fixmaps","test":"jest","test:coverage":"jest --coverage","coveralls":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","prepublishOnly":"npm run build && cp ../../LICENSE.md ."},"peerDependencies":{"keycloak-js":">=9.0.2","react":">=16.8","typescript":">=3.8"},"peerDependenciesMeta":{"typescript":{"optional":true}},"dependencies":{"@babel/runtime":"^7.9.0","@react-keycloak/core":"^3.2.0","detect-node":"^2.0.4","hoist-non-react-statics":"^3.3.2","js-base64":"^3.4.5","js-cookie":"^2.2.1"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom"},"gitHead":"d392921088f9971aa252b299957e4336cb15c406","_id":"@react-keycloak/ssr@3.3.0","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (darwin)","dist":{"integrity":"sha512-S+QArvPgM34rb84M7/+0jf2nSxOzG3vrAwkuaiXb19FosomMSYBaTrpPjXS45eUzHQuX4IOWdUTx9SZY4EmLTw==","shasum":"e757a686efd3156ecfa3a73b03b2ebb97eeea03c","tarball":"https://registry.npmjs.org/@react-keycloak/ssr/-/ssr-3.3.0.tgz","fileCount":82,"unpackedSize":83117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkKZ0CRA9TVsSAnZWagAA4qAP/igA/CKRCukyarThOwnw\nXcSmlyXPulxG7SIDLICybN0b5sI5kbCwESronarKXHEadr0YL/gbM+rFrT3j\nSnhIJ74PDNUyvhztgrg2vgU/9Ed37KBxy8s70t0Y+XI9h2xziKHFnWWFRn2C\nSktIK8ljWhQvIAdDce8+6GEM2dXUuT8F1FZx4RwP2JihvuLBo2IGebfmlG5E\nxKeujTjj7ewQJgnGTmOWYr4a6XZNt4DLBVGUzDy7uYvnHhfOgKAeahZbtmse\nXjs+wIc7kOVRJdygYdCsTIpGOPxjFnNICJBLmjj+Ad0ba0W9OT4QssCkdP3h\nNxfV+zXs/zRSjGJmvhdhprNPWROJv11NeR8qgmx22JkFNYWWfD368IcJhAvG\njXpohrwRp3H577I2x5POhowN2J2avuyKmFT2Cp3gN83vk3z6waa5gt8zoiV8\nHpYC647YpZAIxbk6ILpaRadL34xa9yq92fNvnO4m9ltV5VsYiL3+HJQxbKw4\nVDY6g/LYC51U3pe9hBqbX/DDiAAvbAhvuZ+K2xSxHIpR4yHaVsSZkcCBfCt9\ntJ1ZGkfy8LrCT/nLRGtMsN9fQy8ThWfFMtfFOICkOEJ4lVxJKPWPYVkEIg/z\nt/++HcV/m8PeITxCMNNSLS0zUwsCJ/I49zBuUEMYugdkVA9Lpg4NXFakdGXx\n14XU\r\n=/Mzp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+7dT/4VGOFvqhx2VxkbBX5RxsOdJgc5EzRCDWc+yCoAiEAywuJzSszNDlPRbPpBiLcu1R5YXuF1uk6hzaIGs6/fu4="}]},"maintainers":[{"name":"irontony","email":"zimzum4@gmail.com"},{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"_npmUser":{"name":"panz3r","email":"mattia.panzeri93@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssr_3.3.0_1603315316232_0.3180655253709779"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-06T15:54:46.347Z","2.0.0-alpha.1":"2020-06-06T15:54:46.675Z","modified":"2022-04-06T18:24:21.246Z","2.0.0-alpha.2":"2020-07-20T19:14:32.396Z","2.0.0-alpha.3":"2020-07-21T16:39:33.671Z","2.0.0-alpha.4":"2020-07-22T19:44:20.265Z","2.0.0-alpha.5":"2020-08-21T12:46:10.227Z","2.0.0":"2020-08-21T13:12:59.250Z","3.0.0-alpha.1":"2020-09-06T15:25:03.379Z","3.0.0":"2020-10-04T14:32:58.702Z","3.0.1":"2020-10-18T13:45:23.323Z","3.0.2":"2020-10-18T15:31:57.719Z","3.1.0":"2020-10-18T20:23:15.529Z","3.2.0":"2020-10-18T22:26:50.852Z","3.3.0":"2020-10-21T21:21:56.420Z"},"maintainers":[{"name":"irontony","email":"zimzum4@gmail.com"},{"name":"panz3r","email":"mattia.panzeri93@gmail.com"}],"description":"SSR bindings for Keycloak javascript adapter","homepage":"https://github.com/react-keycloak/react-keycloak#readme","keywords":["react","keycloak","keycloak-js","nextjs","razzle"],"repository":{"type":"git","url":"git+https://github.com/react-keycloak/react-keycloak.git"},"author":{"name":"Mattia Panzeri","email":"mattia.panzeri93@gmail.com"},"bugs":{"url":"https://github.com/react-keycloak/react-keycloak/issues"},"license":"MIT","readme":"![React Keycloak](/art/react-keycloak-logo.png?raw=true 'React Keycloak Logo')\n\n# React Keycloak <!-- omit in toc -->\n\n> SSR bindings for [Keycloak](https://www.keycloak.org/)\n\n[![NPM (scoped)](https://img.shields.io/npm/v/@react-keycloak/ssr?label=npm%20%7C%20ssr)](https://www.npmjs.com/package/@react-keycloak/ssr)\n\n[![License](https://img.shields.io/github/license/react-keycloak/react-keycloak.svg)](https://github.com/react-keycloak/react-keycloak/blob/master/LICENSE.md)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![GitHub contributors](https://img.shields.io/github/contributors/react-keycloak/react-keycloak)](https://github.com/react-keycloak/react-keycloak/graphs/contributors)\n[![Github Issues](https://img.shields.io/github/issues/react-keycloak/react-keycloak.svg)](https://github.com/react-keycloak/react-keycloak/issues)\n\n[![Gitter](https://img.shields.io/gitter/room/react-keycloak/community)](https://gitter.im/react-keycloak/community)\n\n---\n\n## Table of Contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Getting Started](#getting-started)\n  - [Setup](#setup)\n    - [NextJS](#nextjs)\n    - [Razzle](#razzle)\n  - [Hook Usage](#hook-usage)\n- [Examples](#examples)\n- [Guides and Articles](#guides-and-articles)\n- [Other Resources](#other-resources)\n  - [Securing NextJS API](#securing-nextjs-api)\n  - [External Usage (Advanced)](#external-usage-advanced)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Install\n\nReact Keycloak requires:\n\n- React **16.8** or later\n- `keycloak-js` **9.0.2** or later\n\n```shell\nyarn add @react-keycloak/ssr\n```\n\nor\n\n```shell\nnpm install --save @react-keycloak/ssr\n```\n\n## Getting Started\n\nThis module has been created to support `NextJS` and `Razzle`, other SSR frameworks might be working as well.\n\n### Setup\n\nFollow the guide related to your SSR Framework and note that `SSRKeycloakProvider` also accepts all the properties of [`KeycloakProvider`](https://github.com/react-keycloak/react-keycloak/blob/master/packages/web/README.md#setup-keycloakprovider).\n\n#### NextJS\n\nRequires NextJS **9** or later\n\nCreate the `_app.tsx` file under `pages` folder and wrap your App inside `SSRKeycloakProvider` component and pass `keycloakConfig` and a `TokenPersistor`.\n\n**Note:** `@react-keycloak/ssr` provides a default `TokenPersistor` which works with `cookies` (exported as `ServerPersistors.SSRCookies`).\n\nThe following examples will be based on that.\n\n```tsx\nimport cookie from 'cookie'\nimport * as React from 'react'\nimport type { IncomingMessage } from 'http'\nimport type { AppProps, AppContext } from 'next/app'\n\nimport { SSRKeycloakProvider, SSRCookies } from '@react-keycloak/ssr';\n\nconst keycloakCfg = {\n  realm: '',\n  url: '',\n  clientId: ''\n}\n\ninterface InitialProps {\n  cookies: unknown\n}\n\nfunction MyApp({ Component, pageProps, cookies }: AppProps & InitialProps) {\n  return (\n    <SSRKeycloakProvider\n      keycloakConfig={keycloakCfg}\n      persistor={SSRCookies(cookies)}\n    >\n      <Component {...pageProps} />\n    </SSRKeycloakProvider>\n  )\n}\n\nfunction parseCookies(req?: IncomingMessage) {\n  if (!req || !req.headers) {\n    return {}\n  }\n  return cookie.parse(req.headers.cookie || '')\n}\n\nMyApp.getInitialProps = async (context: AppContext) => {\n  // Extract cookies from AppContext\n  return {\n    cookies: parseCookies(context?.ctx?.req)\n  }\n}\n\nexport default MyApp\n```\n\n#### Razzle\n\nRequires `Razzle` **3** or later\n\n> **N.B:** This setup requires you to install [`cookie-parser`](https://github.com/expressjs/cookie-parser) middleware.\n\nEdit your app `server.js` as follow\n\n```js\n...\n\nimport { ExpressCookies, SSRKeycloakProvider } from '@react-keycloak/ssr'\n\n// Create a function to retrieve Keycloak configuration parameters -- 'see examples/razzle-app'\nimport { getKeycloakConfig } from './utils'\n\nconst assets = require(process.env.RAZZLE_ASSETS_MANIFEST)\n\nconst server = express()\nserver\n  .disable('x-powered-by')\n  .use(express.static(process.env.RAZZLE_PUBLIC_DIR))\n  .use(cookieParser()) // 1. Add cookieParser Express middleware\n  .get('/*', (req, res) => {\n    const context = {}\n\n    // 2. Create an instance of ExpressCookies passing the current request\n    const cookiePersistor = ExpressCookies(req)\n\n    // 3. Wrap the App inside SSRKeycloakProvider\n    const markup = renderToString(\n      <SSRKeycloakProvider\n        keycloakConfig={getKeycloakConfig()}\n        persistor={cookiePersistor}\n      >\n        <StaticRouter context={context} location={req.url}>\n          <App />\n        </StaticRouter>\n      </SSRKeycloakProvider>\n    )\n    ...\n  })\n\n...\n```\n\nEdit your `client.js` as follow\n\n```js\nimport { Cookies, SSRKeycloakProvider } from '@react-keycloak/ssr'\n\n// Create a function to retrieve Keycloak configuration parameters -- 'see examples/razzle-app'\nimport { getKeycloakConfig } from './utils'\n\n// 1. Wrap the App inside SSRKeycloakProvider\nhydrate(\n  <SSRKeycloakProvider\n    keycloakConfig={getKeycloakConfig()}\n    persistor={Cookies}\n  >\n    <BrowserRouter>\n      <App />\n    </BrowserRouter>\n  </SSRKeycloakProvider>,\n  document.getElementById('root')\n)\n...\n```\n\n### Hook Usage\n\nWhen a component requires access to `Keycloak`, you can use the `useKeycloak` Hook.\n\n```js\nimport { useKeycloak } from '@react-keycloak/ssr'\n\nexport default () => {\n  const { keycloak, initialized } = useKeycloak()\n\n  // Here you can access the current keycloak instance methods and variables...\n\n  return (\n    <div>\n      <div>{`User is ${\n        !keycloak.authenticated ? 'NOT ' : ''\n      }authenticated`}</div>\n\n      {!!keycloak.authenticated && (\n        <button type=\"button\" onClick={() => keycloak.logout()}>\n          Logout\n        </button>\n      )}\n    </div>\n  )\n}\n```\n\n## Examples\n\nSee inside `examples/nextjs-app` and `examples/razzle-app` folders of [`@react-keycloak/react-keycloak-examples`](https://github.com/react-keycloak/react-keycloak-examples) repository for sample implementations.\n\n## Guides and Articles\n\n- Migration guide for `@react-keycloak/ssr` `v2.x to v3.x` can be found here [MIGRATION.md](https://github.com/react-keycloak/react-keycloak/blob/master/packages/ssr/MIGRATION.md).\n\n## Other Resources\n\n### Securing NextJS API\n\nWhilst `@react-keycloak/ssr` can help you secure the Frontend part of a `NextJS` app if you also want to secure `NextJS`-exposed APIs you can follow the sample in [this issue](https://github.com/react-keycloak/react-keycloak/issues/44#issuecomment-579877959).\n\nThanks to [@webdeb](https://github.com/webdeb) for reporting the issue and helping develop a solution.\n\n### External Usage (Advanced)\n\nIf you need to access `keycloak` instance from non-`React` files (such as `sagas`, `utils`, `providers` ...), you can retrieve the instance using the exported `getKeycloakInstance()` method.\n\nThe instance will be initialized by `react-keycloak` but you'll need to be carefull when using the instance, expecially server-side, and avoid setting/overriding any props, you can however freely access the exposed methods (such as `refreshToken`, `login`, etc...).\n\n**Note:** This approach is NOT recommended on the server-side because can lead to `token leakage` issues (see [this issue](https://github.com/react-keycloak/react-keycloak/issues/65) for more details).\n\nThanks to [@webdeb](https://github.com/webdeb) for requesting this feature and helping develop and test the solution.\n\n## Contributing\n\nSee the [contributing guide](https://github.com/react-keycloak/react-keycloak/blob/master/CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.\n\n## License\n\nMIT\n\n---\n\nIf you found this project to be helpful, please consider buying me a coffee.\n\n[![buy me a coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoff.ee/4f18nT0Nk)\n","readmeFilename":"README.md"}