2017-10-08 7 views
0

J'ai récemment utilisé omniauth-google-oauth2 gem dans l'une de mes applications de rails 5 pour authentifier les utilisateurs, et cela fonctionne très bien. L'application est destinée à un groupe spécifique d'utilisateurs, dans mon cas les étudiants d'une université. Tous les utilisateurs ont un compte google avec des adresses e-mail se terminant par @ait.asia ou @ait.ac.th.Est-il possible de restreindre l'authentification Google à un groupe spécifique d'utilisateurs?

Est-il possible de restreindre l'authentification aux seuls utilisateurs mentionnés ci-dessus? c'est-à-dire uniquement les utilisateurs avec des adresses e-mail se terminant par @ait.asia ou @ait.ac.th?

Répondre

1

Vous pouvez transmettre une liste de domaines hébergés Google Apps à l'option hd lorsque vous ajoutez le middleware OmniAuth à votre application.

Ainsi, dans votre cas, vous pouvez faire un initialiseur comme ceci:

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :google_oauth2, 
    ENV["GOOGLE_CLIENT_ID"], 
    ENV["GOOGLE_CLIENT_SECRET"], 
    hd: %w(ait.asia ait.ac.th) 

Vous pouvez voir une liste complète des options de configuration here