Как я могу использовать несколько моделей JWT Auth на Adonis.js - PullRequest
0 голосов
/ 17 октября 2019

У меня есть среда adonis.js с двумя моделями (клиентская и пользовательская), и с помощью JWT я хочу иметь аутентификацию на обеих моделях, и она не работает на самом деле

Я попытался указать, какую аутентификацию использоватьИспользование в каждой модели и как структурировать базу данных токенов, пользователей и клиентов для поддержки этой

// I tried to set the auth.js to support them

client: {
    serializer: 'lucid',
    model: 'App/Models/Client',
    scheme: 'jwt',
    uid: 'email',
    password: 'password',
    options: {
      secret: Env.get('APP_KEY')+'client'
    }
},

//used default jwt for user model

//somewhere inside my auth function below

async clientAuth({request, auth, response}){
    if(await auth.authenticator('client').attempt(email, password)){
        //did some stuffs as the above worked for Client Model
        let client = await Client.findBy('email', email)

        // even if the auth passed, i can't store the token or generate
        //the line below generate error
        auth.generate(client) //says auth.generate is not a function
    }
}

. Можно ли использовать JWT как с клиентской, так и с пользовательской моделями, и чтобы функция токена работала на обоих? Я должен построить свою собственную логику аутентификации токена, которая действительно беспокойна (заново изобретать колесо)

1 Ответ

0 голосов
/ 17 октября 2019

В настоящее время невозможно использовать несколько моделей аутентификации.

Лучше всего добавить новое поле в модель User.

Официальный ответ службы поддержки

...