Skip to content

Commit

Permalink
adjust FacebookVerifier initialization
Browse files Browse the repository at this point in the history
  • Loading branch information
serdiukov-o-nordwhale committed Oct 16, 2020
1 parent 22df78d commit 95ccc03
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
10 changes: 8 additions & 2 deletions src/imports/facebookVerifier.js
Expand Up @@ -6,8 +6,14 @@ import { isPlainObject, get } from 'lodash'
import Config from '../server/server.config'
import logger from '../imports/logger'

const defaultLogger = logger.child({ from: 'FacebookVerifier' })

class FacebookVerifier {
static factory(log = logger.child({ from: 'TorusVerifier' })) {}
static factory(logger = null) {
const log = logger || defaultLogger

return new FacebookVerifier(Config, Axios.create, log)
}

constructor(Config, httpFactory, logger) {
const { facebookGraphApiUrl } = Config
Expand Down Expand Up @@ -69,4 +75,4 @@ class FacebookVerifier {
}
}

export default new FacebookVerifier(Config, Axios.create, logger.child({ from: 'FacebookVerifier' }))
export default FacebookVerifier
9 changes: 7 additions & 2 deletions src/server/storage/verifier.js
Expand Up @@ -71,8 +71,13 @@ class DefaultVerificationStrategy {
}

class FacebookVerificationStrategy {
constructor(verifier) {
assign(this, { verifier })
}

async verify(requestPayload, userRecord, logger) {
let emailVerified = false
const { verifier } = this
const { email, torusAccessToken } = requestPayload

if (userRecord.isEmailConfirmed) {
Expand All @@ -86,7 +91,7 @@ class FacebookVerificationStrategy {
}

try {
emailVerified = await FacebookVerifier.verifyEmail(email, torusAccessToken, logger)
emailVerified = await verifier.verifyEmail(email, torusAccessToken, logger)
} catch (exception) {
const { message: msg } = exception

Expand All @@ -112,7 +117,7 @@ class UserVerifier {
// attaching strategies on first call
if (!hasStrategiesAttached) {
addStrategy('default', new DefaultVerificationStrategy(Config))
addStrategy('facebook', new FacebookVerificationStrategy())
addStrategy('facebook', new FacebookVerificationStrategy(FacebookVerifier.factory()))
}

return new UserVerifier(userRecord, requestPayload, logger)
Expand Down

0 comments on commit 95ccc03

Please sign in to comment.