Pow authentication with other constraints(such as email/phone number/username)

Hi! I’m building authentication system for my Absinthe API with Pow. However I’ve gotten into a situation where user can login with either an email or phone_number or username & password combination. Following is my pow config -

  use Pow.Ecto.Schema,
    user_id_field: :phone,
    password_hash_methods: {&Argon2.hash_pwd_salt/1, &Argon2.verify_pass/2}

the above code is allowing me login with phone number, now I would like to use other fields(ie., email or username) for login. I would be grateful if someone could shed some light on this process :smiley: