| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- const {
- db,
- waitForDb,
- READ_PREFERENCE_SECONDARY,
- } = require('../../app/src/infrastructure/mongodb')
- const {
- hashSecret,
- } = require('../../modules/oauth2-server/app/src/SecretsHelper')
- async function main() {
- await waitForDb()
- console.log('Hashing client secrets...')
- await hashSecrets(db.oauthApplications, 'clientSecret')
- console.log('Hashing access tokens...')
- await hashSecrets(db.oauthAccessTokens, 'accessToken')
- console.log('Hashing refresh tokens...')
- await hashSecrets(db.oauthAccessTokens, 'refreshToken')
- console.log('Hashing authorization codes...')
- await hashSecrets(db.oauthAuthorizationCodes, 'authorizationCode')
- }
- async function hashSecrets(collection, field) {
- const cursor = collection.find(
- {
- [field]: /^(?!v1\.)/,
- },
- {
- projection: { _id: 1, [field]: 1 },
- readPreference: READ_PREFERENCE_SECONDARY,
- }
- )
- let hashedCount = 0
- for await (const doc of cursor) {
- const hash = hashSecret(doc[field])
- await collection.updateOne({ _id: doc._id }, { $set: { [field]: hash } })
- hashedCount++
- }
- console.log(`${hashedCount} secrets hashed`)
- }
- main()
- .then(() => {
- process.exit(0)
- })
- .catch(err => {
- console.error(err)
- process.exit(1)
- })
|