簡體   English   中英

如何在Spree Social插件中刪除OAUTH_PROVIDERS

[英]How to remove OAUTH_PROVIDERS in Spree Social plugin

我在這里閱讀了SpreeSocial文檔。 我不知道如何通過配置刪除提供程序。 我試圖將最新的提供程序從列表中彈出,但這不起作用。

  SpreeSocial::OAUTH_PROVIDERS.pop

我設法在視圖中顯示“使用LinkedIn登錄”,但我想刪除“使用Google+登錄”鏈接。

SpreeSocial::OAUTH_PROVIDERS << ['LinkedIn', 'linkedin', 'true']
SpreeSocial.init_provider('linkedin')

如果我想使用.class_eval打開SpreeSocial中的類(我認為這可以幫助我編輯可用的提供程序),我應該在哪里放置這些文件以便它們自動加載,或者需要在哪里進行配置? Spree / Rails非常新,因此對配置和初始化程序不太熟悉。 謝謝您的幫助!

我希望能夠調用.class_eval在SpreeSocial模塊這里

當代碼初始化應用程序時,將重新定義SpreeSocial :: OAUTH_PROVIDERS,因此僅使用pop還是不夠的。 由於SpreeSocial是一個模塊而不是一個類,因此您需要:

1)使用module_eval而不是class_eval重新定義SpreeSocial :: OAUTH_PROVIDERS

SpreeSocial.module_eval do OAUTH_PROVIDERS = [ %w(Facebook facebook true), %w(Twitter twitter false), %w(Github github false), %w(Amazon amazon false) ] end

要么

2)您可以覆蓋確定活動身份驗證方法的方法以不返回google: https//github.com/spree-contrib/spree_social/blob/master/app/models/spree/authentication_method.rb#L4-L12

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM