Можно ли использовать Omniauth с Devise-JWT? - PullRequest
1 голос
/ 07 марта 2020

У меня настроены Devise и Devise-JWT, и я работаю для одностраничного приложения React, используя старый добрый адрес электронной почты и пароль. Теперь я хотел бы, чтобы мои пользователи могли войти в систему с помощью Facebook / Google / Twitter и т. Д. c. Является ли Omniauth способом к go?

У меня есть Omniauth вроде работы со стратегией разработчика, и я написал метод, который генерирует токен на предъявителя (я думаю):

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
  def developer
    @user = User.from_omniauth(request.env["omniauth.auth"], current_tenant)

    if @user.persisted?
      sign_in @user, event: :authentication #this will throw if @user is not activated
      token = Warden::JWTAuth::UserEncoder.new.call(@user, :user, nil).to_s
      redirect_to # Now what?

I Вы не знаете, каким будет следующий шаг, передав токен во внешний интерфейс в качестве параметра URL? Это кажется рискованным с точки зрения безопасности, не так ли? Это заставляет меня верить, что, возможно, я здесь движусь не в том направлении. Я? Как это сделать?

...