Comment ignorer la fenêtre « Créer un nouveau compte » lors de l'utilisation d'une stratégie ManagedAuthenticator + OmniAuth personnalisée ?

J’ai implémenté une stratégie OmniAuth personnalisée ainsi qu’un authentificateur qui étend Auth::ManagedAuthenticator de Discourse.

Cependant, lors des tests dans mon environnement de développement, je finis par atterrir sur cet écran au lieu d’être connecté immédiatement :

Les informations sont correctement remplies à partir du hachage d’authentification, mais je ne souhaite pas que les utilisateurs puissent modifier leur nom d’utilisateur ou leur nom ici. Comment modifier mon implémentation ou les paramètres du forum pour que cet écran soit ignoré et que le compte utilisateur soit créé immédiatement (s’il n’existe pas) et que l’utilisateur soit connecté ?

Authentificateur :

class MyAuthenticator < ::Auth::ManagedAuthenticator

    def name
        'my_authenticator'
    end

    def enabled?
        true
    end

    def register_middleware(omniauth)
        omniauth.provider name.to_sym, {}
    end
    
end

Stratégie :

require 'omniauth'

...

class OmniAuth::Strategies::MyAuthenticator
    include OmniAuth::Strategy

    option :name, "my_authenticator"

    ...

    def callback_phase
        ...

        @user_id = ...
        @username = ...
        @avatar = ...
        @email = ...

        ...
    end
	
	...
	
    def auth_hash
        {
            provider: "my_authenticator",
            uid: @user_id,
            info: {
                name: @username,
                image: @avatar,
                email: @email
            },
            extra: {}
        }
    end

end

OmniAuth.config.add_camelization('my_authenticator', 'MyAuthenticator')

plugin.rb :

before_auth do
    ...

    auth_provider authenticator: MyAuthenticator.new()

    ...
end
1 « J'aime »

Cela arrivera dans quelques semaines

4 « J'aime »

En parcourant la PR, il semble que cela puisse être activé simplement en basculant les paramètres, et qu’aucune modification de code ne serait nécessaire pour l’authentificateur personnalisé une fois cette version publiée, n’est-ce pas ?

Exactement. Je pense que le plan de @david est de fusionner une semaine ou deux après notre publication de la version 2.5 le 2020-06-25T03:00:00Z

5 « J'aime »

Ceci est maintenant fusionné

5 « J'aime »