簡體   English   中英

通用的omniauth提供者/設計策略

[英]A generic omniauth provider/strategy for devise

我將omniauth策略實施為gem,但意識到這只是oauth的基本實現。

我設計中。 rb是這樣的:

config.omniauth :mystrategy, 'key', 'secret'

有沒有一種更簡單的方法可以在設計中執行此操作而不創建gem,我是否可以在一個conifg塊中進行配置,例如

    config.omniauth :mystrategy do |strategy|
          strategy.key ='blah'
          strategy.authorize_path = 'blah'
    end

你能給我一個例子或指出正確的方向嗎? 我在網上看到的所有內容都是關於將其構建為戰略瑰寶的。

聽起來您已經從頭開始編寫了oauth策略,並將其打包為gem。 如果這只是您完全實現的oauth或oauth2策略,我認為您不需要這樣做或創建一個gem。 但是,我不確定僅在config塊中有任何方法可以做到這一點。 您應該能夠通過使用https://github.com/intridea/omniauth-oauthhttps://github.com/intridea/omniauth-oauth2並使用自述文件中描述的幾種方法創建子類來做到這一點。

我自己還沒有做過,但這是其他omniauth策略采用的方法。 例如,omniauth-twitter基於omniauth-oauth策略,您可以通過其超類看到:

https://github.com/arunagw/omniauth-twitter/blob/master/lib/omniauth/strategies/twitter.rb

omn​​iauth-facebook基於omniauth-oauth2策略:

https://github.com/mkdynamic/omniauth-facebook/blob/master/lib/omniauth/strategies/facebook.rb

只需在Omniauth :: Strategies命名空間中定義類-例如,Omniauth :: Strategies :: Mystrategy就足以讓您在omniauth配置中將其稱為:mystrategy,如此處“創建策略”中所述: https: //github.com/intridea/omniauth/wiki/Strategy-Contribution-Guide

暫無
暫無

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

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