1

私は認証付きのアプリを持っています。これはdeviseで行われ、omniauthを使用してさまざまなプロバイダー(vk.com、google、twitterなど)からサインインしました。プロバイダーごとに個別のgemを含める必要があることを除いて、すべてがうまく機能しているように見えました。

ここで、その認証を大幅に軽量化し、ログを追加することにしました。そこで、デバイスからソーサリーに移行することにしました。しかし今、私は外部プロバイダーに問題を抱えています。なぜなら、gemにはほんの少ししかありません(私が必要とするvk.comやyahooはありません)。

外部プロバイダーのコードを理解して、同じように自分のコードを追加しようとしましたが、少し複雑すぎるようです。もっと簡単な方法はありますか?

4

2 に答える 2

3

同様の答えを探しているときに誰かがこの質問を見つけた場合に備えて、Sorceryにはほとんどの主要なログインの外部認証が含まれるようになりました。見る:

https://github.com/NoamB/sorcery/wiki/External

外部モジュールをインストールした後のRailsアプリには、config / initializers/sorcery.rbというファイルがあります。その中には、ほとんどのプロバイダーのサンプルコードが含まれています。

于 2013-08-28T23:26:55.717 に答える
1

私はあなたがこれに対する簡単な解決策を見つけるつもりはないと思います。

最後に作業したアプリでこの問題が発生しました。結局、SorceryとOmniauthの両方を使用することになりました。それらをUsersモデルとSessionsコントローラーに統合しました。Sorceryの外部プロバイダーのものは最新に保たれていないようです。

結局、もう一度やらなければならない場合は、認証を最初から行うだけでしょう。ソーサリーは素晴らしいですが、追加の依存関係を保証するのに十分ではないようです。

ゼロからの認証が最終的な方法である場合は、次のリソースを確認できます。

  1. https://github.com/NoamB/sorcery/tree/master/lib
  2. https://github.com/railscasts/250-authentication-from-scratch-revised
于 2012-10-14T14:33:10.590 に答える