微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 account-js 包集成到已经存在的 mongo db?

如何解决如何将 account-js 包集成到已经存在的 mongo db?

我有一个流星应用程序,想迁移非流星应用程序。我发现 account-js 兼容流星账户系统。当我创建新用户时,一切正常,但是如果我想使用已经存在的用户帐户登录,js 方法不起作用,并且每次都会收到未授权消息。如何使用 account-js 用已经存在的用户登录

   
const accountsPassword = new AccountsPassword({
  verifyPassword: (plainPassword,storedPassword) => {
    const hashedPassword = crypto.Hash('sha256').update(plainPassword).digest('hex')

    console.log('*****Verify Password*****')
    return bcrypt.compareSync(plainPassword,storedPassword)
  }
})

const accountsServer = new AccountsServer(
  {
    db: accountsMongo
  },{
    password: accountsPassword
  }
)

const accountsGraphQL = AccountsModule.forRoot({ accountsServer })


const schema = makeExecutableSchema({
  typeDefs: mergeTypeDefs([typeDefs,accountsGraphQL.typeDefs]),resolvers: mergeResolvers([resolvers,accountsGraphQL.resolvers]),schemaDirectives: {
    ...accountsGraphQL.schemaDirectives
  }
})

const schemaMiddleware = applyMiddleware(schema,permissions)

解决方法

accounts-js 使用与 Meteor 身份验证系统完全不同的身份验证机制。 account-js 使用 JWT 令牌,而 Meteor 使用唯一的哈希值,因此它不是交叉兼容的。我写了一篇关于它的博客文章,你可以阅读here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。