これはしばらくの間、Stormpath APIに関する私の最後の質問です。 C#とPHPからノードに切り替えることはやや難しいことでした。Stormpathの登録ページにソーシャル・ログイン
私は登録ページにソーシャルログインを実装しようとしています。事前構築されたオプションは、ログインページにのみ配置します。
Jadeビューにページをレンダリングして要素を追加するのは簡単ですが、oauthStateTokenを取得する必要があります。基本的に(ちょうどサンプルコード - それは私がregister.jsに似た何かをすることができ、理論的には、宣誓ファイルを呼び出して、コードを通過しますので、基本的に
var oauth = require('../oauth');
var oauthStateToken = oauth.common.resolveStateToken(req, res);
var formActionUri = (config.web.login.uri + (nextUri ? ('?next=' + nextUri) : ''));
var hasSocialProviders = _.some(config.web.social, function (socialProvider) {
return socialProvider.enabled;
});
extend(options, {
form: form,
formActionUri: formActionUri,
oauthStateToken: oauthStateToken,
hasSocialProviders: hasSocialProviders
});
:今私はlogin.jsコードがこれを行う方法を見て):
var oauth = require('../oauth');
var _ = require('lodash');
var hasSocialProviders = _.some(config.web.social, function (socialProvider) {
return socialProvider.enabled;
});
var oauthStateToken = '';
if (hasSocialProviders) {
oauthStateToken = oauth.common.resolveStateToken(req, res);
}
helpers.render(req, res, view, {
form: helpers.sanitizeFormData(req.body),
formModel: viewModel.form
oauthStateToken : oauthStateToken,
hasSocialProviders: hasSocialProviders
});
しかし、もちろん、私はコアファイルと干渉するしたくないだろう、とミドルウェア機能の作成について考えていた、app.use('/register', callFunction, router);
のようなものが、私はそれがうまくいく方法を概念化におけるいくつかの困難を持っています。私はstormpathが私がJWTを使ってクッキーとして保存するoauthトークンを生成する方法を理解しているようですが、ライブラリにすでに存在する多くのコードを複製せずに作業コードに組み込むのは苦労しています。
私はREST APIを使用して動作させることもできますが、express-stormpathライブラリ内で使用したいと考えています。したがって、急行暴風路図書館の文脈でのいくつかの説明もまた啓発されるだろう。私はライブラリをフォークし、register.jsに変更を加え、プッシュアップストリームを試すべきですか?
おかげさまで、ありがとうございました。
私は似たようなことを試しましたが、そのようなライブラリ(特にoauthライブラリはドキュメント化されたAPIを介さずに)で関数を参照するのは良い考えではないようでした。 私はそれを試してみると、報告を見る。私はコードをフォークし、あなたと一緒にプルリクエストを試みます(あなたがそれをやるより良い方法を考えているように、拒否するように自由に感じてください)。これは、ユーザーがサインアップする必要がなく、ソーシャルログインで直接ログインできることをユーザーが認識していることを確認したい場合によく使用されます。 ありがとうございます!あなたたちはチャンピオンです。私は変更しなければならなかった –
2つのこと: 'oauthStateToken'の代わりに、' oAuthStateToke' と '代わりapp.get''のapp.use' - 私はこのケースで問題は全く考えていませんが。 もう一度おねがいします! –
返事をありがとう、私はそれに応じて例を修正しました。私はあなたがそれを働かせることができてうれしいです:) – robertjd