{"_id":"@bloxteams/blox-auth","_rev":"5-acef09a0ce0d3fd08f0c2480d0877a46","name":"@bloxteams/blox-auth","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@bloxteams/blox-auth","version":"1.0.0","description":"Roblox OAuth2.0 API wrapper developed for BloxTeams","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/BloxTeams/blox-auth.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["blox-auth","roblox","blox"],"author":{"name":"BloxTeams"},"license":"MIT","dependencies":{"node-fetch":"^2.6.7"},"bugs":{"url":"https://github.com/BloxTeams/blox-auth/issues"},"homepage":"https://github.com/BloxTeams/blox-auth#readme","gitHead":"d7796654e383e835bdfedbfbf95da9ebe7fc77ce","_id":"@bloxteams/blox-auth@1.0.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-phcEoirPx3CCMLSZkLxm/93MbRY2VTEf7s61QHl9ViI6MufMUC8WamyAU4fXLNA7EIeiYKyqXgnwNprQvpjTDw==","shasum":"547bf29cb0cb000030386eb926223069c42252e4","tarball":"https://registry.npmjs.org/@bloxteams/blox-auth/-/blox-auth-1.0.0.tgz","fileCount":12,"unpackedSize":10704,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEkE1RTCzJinPc+ik5OFDpOfSD3XpwldCtt00Gz4FQD/AiBSLc80zQUBXUmDWGF/LabzBrubTmA3MCuhPXMqP1xXrw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjilMCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoecw//ejIUpmHg3CJDF1dr7Zxs9Hi9EqHjm7U/VnGTxx80YZY+nyTi\r\nfW+E8ORHK3m4ENfNhRvYubv4HGK0Qw4zSumI1e5PyPKJaB6PzuWQtSbIG2jR\r\nVLGvBKyVInBPvi7N+6toGcOfBv3ebCQt4ndVTVE9sXA1In47yKJtvemOul9c\r\nNnzSC6++89w6DmacUqXSAzVRBnCsbwIEEpr6KmJzeehEFkbgIixAeM17YmI/\r\nk6cTCowggNu5eTJvDsO9LSf+wI/1jqNLKtvllNJEBmUpvQx5cP8f+ukxLrEf\r\n6QsK9auv5SsaQVwKp50HkVqz/y8hJdCURPMiIpOCIFFkCRoLQWxvq2m6I9N2\r\nuT5+KM0p+mDqBoX6Ucn4d7BczJ6PKyfJ9oVgmaVVFhOJ3qas5Rp/no/EnXf9\r\n4OuIj6UmgheAgOWw+xGKJn+KNsFihejR3LMP7bEE735+4QxzJKIyWONZrSTH\r\npMWHvqFOj5t0IJuKVduETf5OBVeyUwMlOZIrGcp2iQMsoAtzaxsDd1GbRQbo\r\nhf9GLbHfD3cepXlMXFZwf+HXCOEISBgCMvPIMqDV6XpVKle602UmgAPL19xD\r\nrR8B5Ajo8/yk8eTXfazkQmh0Qjv0lE+VUnbu5y7dwWRx5PzAKSSL8svmT5ur\r\n1lHlDXC+EwORDarrOMbikP0eiiV9fp4LLqk=\r\n=Hz/J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ikingninja","email":"ikingninja.developer@gmail.com"},"directories":{},"maintainers":[{"name":"ikingninja","email":"ikingninja.developer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blox-auth_1.0.0_1670009602289_0.8131373565974933"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.1":{"name":"@bloxteams/blox-auth","version":"1.0.1","description":"Roblox OAuth2.0 API wrapper developed for BloxTeams","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/BloxTeams/blox-auth.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["blox-auth","roblox","blox"],"author":{"name":"BloxTeams"},"license":"Mozilla Public License 2.0","dependencies":{"node-fetch":"^2.6.7"},"bugs":{"url":"https://github.com/BloxTeams/blox-auth/issues"},"homepage":"https://github.com/BloxTeams/blox-auth#readme","gitHead":"7c562168d3d1b111acef30620977b62876bd5f55","_id":"@bloxteams/blox-auth@1.0.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-mzYbW51AJYk4xuZtaqdaDRKLeXovE6IFnrcQvQk2TsAvqvbjk7UxzeOugnrlj5cR56+Q010jBysQBeIyas8NBA==","shasum":"554c08302f58c3b413ae9595c018b5f7e3cdc4ad","tarball":"https://registry.npmjs.org/@bloxteams/blox-auth/-/blox-auth-1.0.1.tgz","fileCount":13,"unpackedSize":27825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwxhdAAS7f+/jdN/YbF2PHVEQDab/9Iqf+NvSfSUj+qAiACr3PkQu44qE2Y30zMCjmS6GM5PAPZtcil21dCC1CDFw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjilogACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNqxAAiHEWXSTI8MowG6pJAnq2QkIUBB8nyaRGz3jfFedQCi0pymJb\r\nkh2ofs/drFHFh/2hRVD7lgmNmVzsCr/XL1aDyhup+rBassFkZjjRlqNLWiIk\r\nIqgh7Ca40zW5v1ynwIfjivENSDuDjl8oNrNi1Cz0sOM+e4Srrp0vPtRc43q6\r\nfTiZsYHtRBy/mxUpkT4MDBzbc18Ds2iPVzvYk2WI63WjRbFYegzarjVQI3nj\r\nq4Pyb7BR4ezI8ANM5qjC3VR2IU0jYFGUk03YbvnCXVljkBCJ9O5+b6mAw9Lb\r\nVAEfqdtuQmyLqYrijFN3QEucyYvSyH8sLSECS1XlPvgZuidzQ/NQr7xrDDsO\r\n7pigNUSSjY9dtlLNwirlIp9OqSykDpq4HJ1Sdk2K8ppDwjKVZVeAJ8M1Iz8G\r\nSC4C1+cJohZnC++O9PehAGtJqKgpZ3+ljUz5yibL5wbApfx5SHKdKI65M6B4\r\nadjhcfj64ZdKWPnk/de7ZPsQNUB0vsNdnYLPqpQ8GVY5hqSfQn1Qu9eVTY0P\r\n1YkN5LIhXlSmNJgv6Bo/xpym5P0KiVCyqM4gbR8hcT32hlKtxwT/v+2o1eRh\r\n/1jVIJtPqg7xcgofWn2NGEn2bFeYtWuykg/asb2474x0QF+yPHhSEprKNYcU\r\n2GfTmpUAowd8SV3NsQM3gC5JmpVl2bQRYIw=\r\n=cQnL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ikingninja","email":"ikingninja.developer@gmail.com"},"directories":{},"maintainers":[{"name":"ikingninja","email":"ikingninja.developer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blox-auth_1.0.1_1670011424190_0.7931563214794479"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.2":{"name":"@bloxteams/blox-auth","version":"1.0.2","description":"Roblox OAuth2.0 API wrapper developed for BloxTeams","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/BloxTeams/blox-auth.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["blox-auth","roblox","blox"],"author":{"name":"BloxTeams"},"license":"Mozilla Public License 2.0","dependencies":{"express":"^4.18.2","node-fetch":"^2.6.7"},"bugs":{"url":"https://github.com/BloxTeams/blox-auth/issues"},"homepage":"https://github.com/BloxTeams/blox-auth#readme","gitHead":"25baacfb4ed03effc206a56e9c4808d2ab89c7d1","_id":"@bloxteams/blox-auth@1.0.2","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-p5s9YZWPVn8R3v1YfDsq2uV/unoUJyQ0tEJO+S+0xtKPkHfcL/A6bXo7mJjG9HJw7IGXp7oM4vYwZX6BpUl/6w==","shasum":"e1924de1b4e95754fe812090d18dc666b9eab743","tarball":"https://registry.npmjs.org/@bloxteams/blox-auth/-/blox-auth-1.0.2.tgz","fileCount":13,"unpackedSize":27865,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8NTdIz3QYpNSHWrLJ5TadfOzjzLU7M0Y8gvi+pPDL+AiBTK4xy5l8xxSI0q7/8YcPoi8xeXFv7E/x7SWLht/C7sw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjk+AhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTng//bu/UAg+dyPYBZKa4/tXXwffFhPSdaRz4aJUD0Yru0vpAsdJ5\r\nbujgkOukXc30eSYH1yNNCr92S2KAB0K5Zmv19blJFwzUi8CpkuWBGCghoInN\r\nNzQvyIVy63P8GNGzkPqG36lIr2A7aPv9a6cVAkVnIyl4vV0yHlEI6H9mvmbm\r\nj0sqGXXf3dyU2x7VNl1V5M2B+JCaaDCrM+r65ZBI1f6ZZK/Ce59sgilAn12O\r\nYQEbYP1IgSIKrQAM4oQE6PFCRFU0DCYxA8FdqAefQV2BdPLWDz+9K0gc4KzB\r\nJNa9ZQ1266pVYgkDrPzFV/19AfgDIuGhgjvbhOcoHrLMSaDhz59gKwc+0ZM0\r\n6jkpMf8GF45W8KKFot8rzekmgDUkUHpgEkkleDQdInEYcPtpuyH3bpnLQJxX\r\nXrXvDOlX4ndmzNw/HDsX55OqMO9Cj0tigcdPG6tBLIHwtMxKY/8lYnotr5xc\r\nXJl5OfOsA2R5yKp3XMMFcPvsJMwlMwR/2cYwV0Hil/5kTC0bYCxVI0eoSY+6\r\n8gZyjdGfqyi53Tvj7jHmf6sr6KUk+orr4k8wTgFrt4tnrdA49bHKZ85D1R1Z\r\nISlqNCZC7g2zjQbYCWT0ZnQMTFK/g6rvlRMQCeIw/Vt+AK+/48ki2xzK44Rf\r\nqmOVXgln9GPTr/S0dKAq4GqACXOMnFVi0eU=\r\n=tYLK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ikingninja","email":"ikingninja.developer@gmail.com"},"directories":{},"maintainers":[{"name":"ikingninja","email":"ikingninja.developer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blox-auth_1.0.2_1670635553747_0.2512295465776626"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.3":{"name":"@bloxteams/blox-auth","version":"1.0.3","description":"Roblox OAuth2.0 API wrapper developed for BloxTeams","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/BloxTeams/blox-auth.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["blox-auth","roblox","blox"],"author":{"name":"BloxTeams"},"license":"Mozilla Public License 2.0","dependencies":{"node-fetch":"^2.6.7"},"bugs":{"url":"https://github.com/BloxTeams/blox-auth/issues"},"homepage":"https://github.com/BloxTeams/blox-auth#readme","gitHead":"4a7f7182d9ee1f60e168cecdbb4374e77d417461","_id":"@bloxteams/blox-auth@1.0.3","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-4PQL5J2oerEZqAvUWXKMWz7AbcYyCgPaqK2Oy9MdWL8f44qSgkyiAr+H1uI/xhq7wuORU/9l2WCX262c6o0N/Q==","shasum":"df92fff8c56a9a9fed6149cc07b94fbbd5ad3ef5","tarball":"https://registry.npmjs.org/@bloxteams/blox-auth/-/blox-auth-1.0.3.tgz","fileCount":13,"unpackedSize":27839,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3An/ha0s8CGer3KIqMjYaGLhgS6C40lYhFFN3hq/eVgIgNXHXOoBNh7gOMxluWT0M6A1UQ1arw5rLJnzGNX3FgQA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjk+I4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1RA//YQPYWhlT/wHMAMvhR1lhArnR4hvlBGFtXAOTrNKdBn7NqcbH\r\n4c+g+DSuk8FI8OlochEshXhJ6lMKWhdPD/vkeKkPZfbmfpuWBttSu447B35Z\r\nWWMG0faTSV4NJ57rpOEcJAbXfXMcMjk51wnCuO+AhPbIbB1vp5jO+JPuv4/k\r\nmYzJzYpIaGCbhEjbkYO2/OwVIXv0rxC1POhxHcEer0AEpiZB3AYDBosfcBY0\r\ntvCV/lhterBqA8JmfVAaiPj0KsyZvNlMJRcIUPeEu0suk5Wya1qQbVQxJ4sz\r\nJTw5pu1Y4FdvwsUb3XAc5DtLKAw5//F4lNsoRgsPJcf4daIeE7+xKuIoqLN0\r\nl8vLHV6cMc3qjYSINMrpl0sIQW6g92YJNx7YtL6xcycdWHp8vcS4Qv4s9S+s\r\nJTHyX41CnAb4AhrfDSbB+kBxxeeqU0olgI84vfpwJvQnL9NmQM57yAO0gzOy\r\nguOdO0jrtACqEfyzZ74HxEhn4e7rdqDM4TPSXA+LoYDuv8F0QiYyTHu//1q0\r\n2HcA2A+/7770bbhcsbna7q6ijktoKaRfncmS5ux+36GcRGDnSGgLT7zmiGAh\r\nNXPMgX46QSABYuAvQybWaSS2rJuHBMUa4XJFShWMfFkH1Yd6+UWgWA109ciA\r\njzkuPRakoPRXb3yYTVHu7NG4/eh0ABJuUKA=\r\n=iRzi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ikingninja","email":"ikingninja.developer@gmail.com"},"directories":{},"maintainers":[{"name":"ikingninja","email":"ikingninja.developer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blox-auth_1.0.3_1670636088003_0.9955135320975312"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"@bloxteams/blox-auth","version":"1.1.0","description":"Roblox OAuth2.0 API wrapper developed for BloxTeams","main":"index.js","types":"lib/types/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/BloxTeams/blox-auth.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["blox-auth","roblox","blox"],"author":{"name":"BloxTeams"},"license":"Mozilla Public License 2.0","dependencies":{"@types/express":"^4.17.17","express":"^4.18.2","node-fetch":"^2.6.7"},"bugs":{"url":"https://github.com/BloxTeams/blox-auth/issues"},"homepage":"https://github.com/BloxTeams/blox-auth#readme","gitHead":"19a509b86891185c523ec1e6f5970386f28887c9","_id":"@bloxteams/blox-auth@1.1.0","_nodeVersion":"16.16.0","_npmVersion":"9.7.1","dist":{"integrity":"sha512-2IGq9kT6XM0AU4qzYwkZD4GCJ7nwpsiDsxTxcctD1herEMnJMAJ5e72f6JFU33rRvzz1GTkkVkVacWLpqE3M6A==","shasum":"77380efe8ee1fa11a51c7adc5d65538319f24895","tarball":"https://registry.npmjs.org/@bloxteams/blox-auth/-/blox-auth-1.1.0.tgz","fileCount":18,"unpackedSize":31704,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZoIjQtHLC2PPxSix+QEYK0jdbveiYfENXBv3kejay1QIhAOEkv6fYDjKMsn0MI7DTKsILj7BuOOMualNKQVcW1RVK"}]},"_npmUser":{"name":"ikingninja","email":"ikingninja.developer@gmail.com"},"directories":{},"maintainers":[{"name":"ikingninja","email":"ikingninja.developer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blox-auth_1.1.0_1687138257718_0.6519775045472731"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2022-12-02T19:33:22.206Z","1.0.0":"2022-12-02T19:33:22.441Z","modified":"2024-04-05T16:06:41.074Z","1.0.1":"2022-12-02T20:03:44.342Z","1.0.2":"2022-12-10T01:25:53.925Z","1.0.3":"2022-12-10T01:34:48.170Z","1.1.0":"2023-06-19T01:30:57.865Z"},"maintainers":[{"name":"ikingninja","email":"ikingninja.developer@gmail.com"}],"description":"Roblox OAuth2.0 API wrapper developed for BloxTeams","homepage":"https://github.com/BloxTeams/blox-auth#readme","keywords":["blox-auth","roblox","blox"],"repository":{"type":"git","url":"git+ssh://git@github.com/BloxTeams/blox-auth.git"},"author":{"name":"BloxTeams"},"bugs":{"url":"https://github.com/BloxTeams/blox-auth/issues"},"license":"Mozilla Public License 2.0","readme":"<div align=\"center\">\r\n\r\n<img src=\"https://user-images.githubusercontent.com/83887130/194349614-fc6b7d7d-5177-4673-b1b8-18c17e537dba.png\" width=\"150px\">\r\n\r\n</div>\r\n\r\n# blox-auth\r\n\r\nBloxAuth is a JavaScript and Express compatible npm package to fasten the process of interacting with Roblox OAuth2.0 endpoints.\r\n\r\n## Setup\r\nBloxAuth requires a client representing your Roblox OAuth2.0 application. To initialize a client you can use the `Client` class.\r\n```js\r\nconst bloxAuth = require(\"blox-auth\");\r\nconst client = new bloxAuth.Client({\r\n    client_id: \"string\",\r\n    client_secret: \"string\",\r\n    redirect_uri: \"http://localhost:3000/auth/roblox/redirect\",\r\n    response_type: \"Code\",\r\n    grant_type: \"authorization_code\"\r\n});\r\n\r\nclient.config();\r\n```\r\n\r\n## Authorize middleware\r\nYou can handle authorization with the `authorize` middleware. Note that all operations with BloxAuth require you to have an initialized client.\r\n```js\r\nconst express = require(\"express\");\r\nconst app = express();\r\n\r\napp.get(\"/\", bloxAuth.authorize({\r\n    scope: new bloxAuth.AuthorizationScopes([\"openid\", \"profile\", \"universe-messaging-service:publish\"]),\r\n    prompts: \"Login, Consent\",\r\n    state: \"random-string\"\r\n}));\r\n\r\napp.listen(3000, () => {\r\n    console.log(\"Online on PORT 3000.\");\r\n})\r\n```\r\n\r\n## Token middleware\r\nBloxAuth offers a way to obtain all authorization token data through a middleware. The `getToken` middleware will append the token's data to the request.\r\n```js\r\nreq.bloxAuth: {\r\n    tokenData: {...}\r\n}\r\n```\r\n```js\r\nconst express = require(\"express\");\r\nconst app = express();\r\n\r\napp.get(\"/auth/roblox/redirect\", bloxAuth.getToken, async (req, res) => {\r\n    if (!req.bloxAuth) { //Check for BloxAuth data, if the request to obtain a token did not succeed req.bloxAuth will be null \r\n        return res.json({\r\n            code: 400,\r\n            message: \"Authentication request failed.\"\r\n        })\r\n    }\r\n\r\n    console.log(req.bloxAuth.tokenData);\r\n});\r\n\r\napp.listen(3000, () => {\r\n    console.log(\"Online on PORT 3000.\");\r\n})\r\n```\r\n\r\n## User\r\nBloxAuth offers a simple way of interacting with a user's data that can be accessed through OAuth2.0. This is done through the use of a `User` class.\r\n```js\r\nconst express = require(\"express\");\r\nconst app = express();\r\n\r\napp.get(\"/auth/roblox/redirect\", bloxAuth.getToken, async (req, res) => {\r\n    if (!req.bloxAuth) { //Check for BloxAuth data, if the request to obtain a token did not succeed req.bloxAuth will be null \r\n        return res.json({\r\n            code: 400,\r\n            message: \"Authentication request failed.\"\r\n        })\r\n    }\r\n\r\n    const user = new bloxAuth.User(req.bloxAuth.tokenData.access_token); //The User class takes one argument which is the access_token of the authorizing user\r\n    const userData = await user.getInfo().catch((err) => {\r\n        console.log(err);\r\n    })\r\n    const userResources = await user.getResources().catch((err) => {\r\n        console.log(err);\r\n    })\r\n});\r\n\r\napp.listen(3000, () => {\r\n    console.log(\"Online on PORT 3000.\");\r\n})\r\n```\r\n\r\n## user.getInfo()\r\nThe `getInfo()` method of the `User` class returns the information about a user. The call to this method may fail if the user did not authorize the required scopes.\r\n```js\r\nconst express = require(\"express\");\r\nconst app = express();\r\n\r\napp.get(\"/auth/roblox/redirect\", bloxAuth.getToken, async (req, res) => {\r\n    if (!req.bloxAuth) { //Check for BloxAuth data, if the request to obtain a token did not succeed req.bloxAuth will be null \r\n        return res.json({\r\n            code: 400,\r\n            message: \"Authentication request failed.\"\r\n        })\r\n    }\r\n\r\n    const user = new bloxAuth.User(req.bloxAuth.tokenData.access_token); //The User class takes one argument which is the access_token of the authorizing user\r\n    const userData = await user.getInfo().catch((err) => {\r\n        console.log(err);\r\n    });\r\n\r\n    console.log(userData);\r\n});\r\n\r\napp.listen(3000, () => {\r\n    console.log(\"Online on PORT 3000.\");\r\n})\r\n```\r\n\r\n## user.getResources()\r\nThe `getResources()` method of the `User` class returns the user's resources. The call to this method may fail if the user did not authorize the required scopes.\r\n```js\r\nconst express = require(\"express\");\r\nconst app = express();\r\n\r\napp.get(\"/auth/roblox/redirect\", bloxAuth.getToken, async (req, res) => {\r\n    if (!req.bloxAuth) { //Check for BloxAuth data, if the request to obtain a token did not succeed req.bloxAuth will be null \r\n        return res.json({\r\n            code: 400,\r\n            message: \"Authentication request failed.\"\r\n        })\r\n    }\r\n\r\n    const user = new bloxAuth.User(req.bloxAuth.tokenData.access_token); //The User class takes one argument which is the access_token of the authorizing user\r\n    const userResources = await user.getResources().catch((err) => {\r\n        console.log(err);\r\n    })\r\n\r\n    console.log(userResources);\r\n});\r\n\r\napp.listen(3000, () => {\r\n    console.log(\"Online on PORT 3000.\");\r\n})\r\n```\r\n","readmeFilename":"README.md"}