| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- const minimist = require('minimist')
- const { waitForDb, db } = require('../../app/src/infrastructure/mongodb')
- const {
- hashSecret,
- } = require('../../modules/oauth2-server/app/src/SecretsHelper')
- async function main() {
- const opts = parseArgs()
- await waitForDb()
- if (opts.accessToken == null) {
- console.error('Missing --token option')
- process.exit(1)
- }
- if (opts.refreshToken == null) {
- console.error('Missing --refresh-token option')
- process.exit(1)
- }
- if (opts.oauthApplication_id == null) {
- console.error('Missing --application-id option')
- process.exit(1)
- }
- if (opts.user_id == null) {
- console.error('Missing --user-id option')
- process.exit(1)
- }
- if (opts.scope == null) {
- console.error('Missing --scope option')
- process.exit(1)
- }
- if (opts.accessTokenExpiresAt == null) {
- console.error('Missing --expiry-date option')
- process.exit(1)
- }
- await insertToken(opts)
- }
- async function insertToken(opts) {
- const token = {
- ...opts,
- accessToken: hashSecret(opts.accessToken),
- refreshToken: hashSecret(opts.refreshToken),
- accessTokenExpiresAt: new Date(opts.accessTokenExpiresAt),
- createdAt: new Date(),
- }
- await db.oauthAccessTokens.insertOne(token)
- }
- function parseArgs() {
- const args = minimist(process.argv.slice(2), {
- boolean: ['help'],
- })
- if (args.help) {
- usage()
- process.exit(0)
- }
- if (args._.length !== 0) {
- usage()
- process.exit(1)
- }
- return {
- accessToken: args.token,
- oauthApplication_id: args['application-id'],
- refreshToken: args['refresh-token'],
- user_id: args['user-id'],
- scope: args.scope,
- accessTokenExpiresAt: args['expiry-date'],
- }
- }
- function usage() {
- console.error(`Usage: create_token.js [OPTS...]
- Creates an OAuth access token
- Options:
- --application-id ID for the OAuth application
- --user-id ID of the user this token belongs to
- --token Access token
- --refresh-token Refresh token
- --scope Accepted scope
- --expiry-date Token expiry date
- `)
- }
- main()
- .then(() => {
- process.exit(0)
- })
- .catch(err => {
- console.error(err)
- process.exit(1)
- })
|