問題タブ [ember-simple-auth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
320 参照

ember.js - 統合テストで未定義のEmber初期化子非同期プロパティ

登録とログインのプロセスをテストしようとしていますが、currentUser プロパティで Ember-Simple-Auth セッション オブジェクトを拡張するイニシャライザを作成する前に、統合テストは完全に合格していました。

ブラウザーではすべて正常に動作しますが、次の行のアプリケーション ルートの sessionAuthenticationSucceeded アクションですべてのテストが失敗するだけです。

this.get('session.currentUser').then(function(user) {

with : TypeError: undefined のプロパティ 'then' を読み取れません


/routes/application.js

/initializers/custom-session.js

/tests/integration/visitor-signs-up-test.js

test/helpers/registration-login.js


使ってみました

イニシャライザでコメントアウトされていることがわかるように(そのインスタンスでもアプリケーションを渡します)、非同期リクエストが完了し、ユーザーが利用可能であることを確認しますが、それも機能していません。

Pretenderを使用して API リクエストをインターセプトしていますがapi/v1/users/:id、テスト中に呼び出しがまったく行われません。

奇妙な部分は、ブラウザで完全に機能することです。

なぜこれがうまくいかないのか理解しようとしていますか?任意のガイダンスをいただければ幸いです。

注意:ここここにリストされている解決策も試しましたが、上記と同じ結果が得られました。

0 投票する
1 に答える
1038 参照

ruby-on-rails - Ember-Simple-Auth-Torii: devise-omniauth でサーバー側の認証を処理するにはどうすればよいですか?

こんにちは、ember-cli-simple-auth-torii を備えたフロントエンドと、devise と omniauth-facebook を備えた ember-cli-simple-auth-devise バックエンドを備えた ember アプリを持っます

Facebookでログインすると鳥居から認証コードが渡されますが、この認証コードをどうするかは私たち次第です。

サーバー側に対してユーザーを認証することをお勧めします。この認証コードをオムニ認証で使いたいです。

私の AuthenticationController は次のようになります

私のセッションコントローラー

私のアプローチが正しいかどうかはわかりませんがusers/auth/facebook/callback 、クライアントから を呼び出すと、サーバー側で認証プロセスがトリガーされ、アプリでの crud 操作に対して後でユーザーを承認できると思います。

私のサーバー ログには、omniauth facebook ログイン コールバック フェーズを開始できると書かれていますが、エラーが発生します。Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request

  1. 確認コードの検証中にエラーが発生しました。redirect_uri が OAuth ダイアログ リクエストで使用したものと同じであることを確認してください。 クライアント側のポート 4200 から Facebook サーバーを呼び出しており、ajax 呼び出しでは URL http:// localhost :3000/users/auth/facebook/callbackを使用しています。ポート 3000

  2. クライアント側からの ajax 呼び出しで /users/auth/facebook/callback を使用すると、エラーが発生します: Invalid redirect ie type: 'POST', url: '/users/auth/facebook/callback', dataType: 'json',

    2014-11-16 11:27:40 +0530 I、[2014-11-16T11:27:40.150441 #5160] INFO -- omniauth: ( facebook) コールバック フェーズが開始されました。E, [2014-11-16T11:27:41.336997 #5160] エラー -- omniauth: (facebook) 認証失敗!invalid_credentials: OAuth2::Error, : {"error":{"message":"無効な redirect_uri: \u0926\u093f\u0932\u0947\u0932\u0940 URL \u0905\u0928\u0941\u092a\u094d\u0930\u092f\ u094b\u0917 \u0915\u0949\u0928\u094d\u092b\u093f\u0917\u0930\u0947\u0936\u0928\u0926\u094d\u0935\u093e\u0930\u0947 \u0905\u0928\u0941\u092e\u0924 \u0928\ u093e\u0939\u0940.","type":"OAuthException","code":191}} AuthenticationsController#failure as JSON パラメータによる処理: {"code"=>"

私のアプローチが正しいかどうかはわかりません。工夫+鳥居認証両方したい

0 投票する
1 に答える
1616 参照

authentication - Ember Simple Auth - Custom Authorizer Breaks Authentication

I'm using the ember-cli-simple-auth addon with Torii for my authentication flow.

So far I've managed to get authentication working using both a custom Torii Provider combined with a custom Simple Auth Authenticator.

I'd now like to use a custom Simple Auth Authorizer to inject the access token into requests.

Following the documentation https://github.com/simplabs/ember-simple-auth#implementing-a-custom-authorizer I've added a custom authorizer & initializer

authorizers/myservice.js

initializers/authorization.js

& included in config/environment.jsin the development environment

Unfortunately by adding this it has now broken the authentication.

It looks like Torii is no longer receiving the response.

The response from the provider is missing these required response params: access_token, token_type, expires_in

I've included both the Torii Provider code & Simple Auth Authenticator code here too.

Any suggestions or help would be very much appreciated, i'm a bit stuck with this.

torii-providers/myservice.js

And a custom Simple Auth authenticator

authenticators/myservice.js

0 投票する
1 に答える
1581 参照

authentication - ember シンプル認証セッション、ember データ、Authorization ヘッダーの受け渡し

私は、ember simple authを使用して(Facebookなどから)アクセストークンを取得し、それをバックエンドに送信してfb.me()を呼び出し、JWTを使用してトークンを作成するoauth2認証プロセスを実行しています。このトークンはその後、ember アプリに送り返されます。このトークンは、ember-data によって行われた要求を含むすべてのサーバー要求と共に送信する必要があります。

また、ブラウザのリロード後にこのトークンを使用できるようにする必要があります。

セッションにプロパティ「authToken」を設定する多くのオプションを試しました-これはローカルストレージを使用して認証されたセッションを永続化すると思います。

しかし、私は常にこのトークンの取得を調整するのに問題があるようです.セッションにアクセスできないか、トークンがセッション上にないか、emberデータヘッダーを変更できません.

これを行う方法の簡単な例を誰かが持っていますか?簡単だと思いますが、明らかに何かが欠けています!

ありがとう。

アップデート

私ができる唯一のことは、以下に示すように鳥居を使用することですが、セッションの内容は更新時にまだ失われています.認証されていることはわかりますが、ここで設定したトークンが失われています. だから私はまだ本当の解決策を探しています。

resolveCodeToToken は、サーバーからベアラー トークンを取得し、それをセッションに設定してから、保護されたページに遷移します。

そして、すべてのリクエストに (セッションに保存された) トークンを配置するためのカスタムオーソライザーがあります。

更新後に this.get('session.content.authToken') が未定義になる理由がわかりません。デフォルトでは、セッションはローカルストレージに永続化されていると思いました。認証されているという事実は永続化されますが、サーバーは保護されたエンドポイントへの呼び出しを拒否するため、トークンがないと役に立ちません。

0 投票する
1 に答える
259 参照

ruby-on-rails - テストで ember-simple-auth-ephemeral ストアを使用して認証済みリクエストを作成する

私は、ember-simple-auth devise を使用しているレール バックエンドと ember cli プロジェクトを持っており、認証postされたレールをカバーする Qunit テストを取得しようとしています。バックエンドの呼び出しを嘲笑しているわけではありません。

私のテストは次のように設定されています:

simple-auth-session-store:ephemeralテストENVで使用しています。

ヘルパーはsignIn()正常に動作します: ember と rails の両方のログから、フォームを送信してステータスを取得していることがわかりますが、次のリクエストは、認証情報が保存されていないか、次のリクエストで使用されていないなどの201ステータスを返します。401

これを手動でテストすると、すべて問題ないため、テスト環境の問題だと思いますが、サーバーからstore:ephemeralステータスを取得しても、それを削除すると.401

テスト環境で ember-simple-auth を使用してサーバーに認証済みのリクエストを送信するにはどうすればよいですか? テスト セッションのデータに直接アクセスして and を設定し、Rails が認証済みと判断する方法はありuser-tokenますemailか?

環境: