私はTwitterで認証するためにノードモジュールeveryauth
を使用しています。現時点では、ユーザーは/auth/twitter/
に行き、リダイレクトパスで認証する必要があります。同じページでTwitterとの認証
問題は、リダイレクトパスがページをリロードして、私が作成した「1ページのアプリケーション」構造を破壊することです。 Twitterとの認証を「1ページ」境界内に維持することは可能ですか?
私はTwitterで認証するためにノードモジュールeveryauth
を使用しています。現時点では、ユーザーは/auth/twitter/
に行き、リダイレクトパスで認証する必要があります。同じページでTwitterとの認証
問題は、リダイレクトパスがページをリロードして、私が作成した「1ページのアプリケーション」構造を破壊することです。 Twitterとの認証を「1ページ」境界内に維持することは可能ですか?
できません。新しいページを開く必要があります(ただし、ポップアップを開いて、そのポップアップを閉じるページに戻ることができます)。
これがあなたが探しているものかどうかわからない、私はまた、単一のページのアプリケーションを構築しています。リダイレクトは避けられませんが、ユーザーはTwitterに行き、認証して同じページに戻りますが、ユーザーの状態に応じて異なるデータを読み込むので、ユーザーは一般的なコンテンツまたは保存されたコンテンツを取得します。私のシナリオで
// in server.js
app.get('/', routes.index);
// in routes.js, required in server.js
exports.index = function(req, res){
if(req.loggedIn){
getData(function(data){
res.render('home', { data:, data })
});
} else {
res.render('home', { data: false })
}
};
のgetData()は、その後、私たちのAPIからコンテンツをプリロードし、JSONなどのテンプレートにこれを渡し、そのアクセスレベルを確認するために、ユーザーにいくつかのチェックを行います。その後、アプリケーションがレンダリングすると、使用可能なJSONが検索されます。
ログアウトはどうですか?現時点では、 '/ logout'はリフレッシュを引き起こします。 – Randomblue
ログアウトする方が簡単ですが、 '/ sign_out'ルートを作成してセッションを削除することもできます:' delete sess.auth; '(JSONレスポンスを送信し、Ajaxを使って同じページに保持することもできます)。 – alessioalex