必要に応じて SS NuGets をインストールできる MVC Web サイト (単一ページの JS アプリ タイプのもの) があります。
私は現在(そして非常にうまく)SS認証プラグインを使用して、Twitter、fbなどを介してユーザーを認証できるAPIを持っています。このAPIは現在、PHPフロントエンドがアクセスできるようにしています。
PHP サイトと同じ方法で MVC サイトを認証できるようにしたいのですが、ss-id をチェックするだけでなく、それが存在しない場合はログインにリダイレクトするのではなく、より MVC/SS の方法で認証を行いたいと考えています。ページ。私は PHP 開発者ではありませんが、ユーザーが PHP サイトのページを要求すると、Cookie に ss-id が存在するかどうかがチェックされます。存在する場合、ユーザーは既に認証されています。その後、ユーザーは認証されず、Twitter、fb などの認証ボタンがある PHP サイトの /login にプッシュされます。
これどうやってするの?SS Authenticate 属性をコントローラーに追加できますが、それで十分でしょうか?
したがって、ワークフローは次のようになります。
ユーザーはhttp://somesite.comにアクセスします
ログインしていないため、 http://somesite.com/loginにリダイレクトされます。
そのページの Twitter ログイン ボタンをクリックすると、次の URL にリダイレクトされます。
http://api.somesite.com/auth/twitter認証のために Twitter に転送されます
認証されると、有効なセッションとともにhttp://somesite.comに送り返されます
さて、私の質問は、このように認証できますか?
もしそうなら、これを行う最善の方法は何ですか?[Authenticate]
コントローラーに属性を追加するだけで完了したいと思います。RavenUserAuthRepository
Db の API と同じ場所を参照して属性を追加するように設定[Authenticate]
すると、十分ではないように見えますか?
【別編集】
そのため、プラグインを MVC サイトに追加して、somesite.com/auth/twitter にアクセスできるようにしました。これはRavenUserAuthRepository
、API が使用するものと同じものを使用するため、データベースを共有します。
適切にリダイレクトできるように、別のTwitterアプリを作成しました。
ログインに関してはすべてが機能しているようです。コントローラーにアクセスしようとした場合を除いて、[Authenticate]
内部TryAuthenticate
でRavenUserAuthRepository
は呼び出されません...
ワークフローの残りの部分では、認証された Twitter から戻ってくると、次のRavenUserAuthRepository
ようなメソッドが呼び出されます。GetUserAuth