問題タブ [torii]
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.
ember.js - Toriiセッション未定義 - ember / firebaseアプリに注入されていません
ember install
firebase を使用した ember cli プロジェクトで、 emberfire と torii を(使用して) インストールしました。config/environment.js
firebase アプリの URL の直後に次の構成を追加しました。
そして、アダプターをに入れましたapp/torii-adapters/application.js
:
ただし、任意のルートまたはコントローラーで鳥居のセッション変数を取得しようとすると:
セッションは未定義です:
私の知る限り、 firebaseのドキュメント/例に従っているので、何が欠けているのかわかりません。torii がすべてのルートとコントローラーにセッション変数を注入するために別のステップが必要ですか?
私のスタックのバージョンは次のとおりです。
注: 現在、firebase 自体は問題なく動作しています。すべてのモデルが同期されているため、firebase のセットアップに問題があるとは考えられません。また、this.get('session')
アプリのルートまたはコントローラーのどこでも undefined を返します。
javascript - アダプタからトリイプロバイダ名?
セッションを確立するために、たとえば Facebook や Twitter の認証トークンを API にポストする Torii アダプターがあります。私のアダプターのopen()
メソッドでは、さまざまなタイプのプロバイダーを処理する方法に関するいくつかのロジックを記述するために、プロバイダーの名前を知りたいです。例えば:
しかし、もちろん、this.provider.name
それは正しくありません。アダプターメソッド内から使用されるプロバイダーの名前を取得する方法はありますか? 前もって感謝します。
更新:それを行うにはいくつかの方法があると思います。最初の方法は、を呼び出す前に localStorage (または sessionStorage) にプロバイダー名を設定し、open()
その値を上記のロジックで使用することです。例えば:
もう 1 つの方法は、異なるプロバイダー用に個別のアダプターを作成することです。app-name/torii-adapters/facebook-connect.js
Torii には、たとえばに戻る前に探すコードがありますapp-name/torii-adapters/application.js
。プロバイダー固有のロジックを別のファイルに配置すると、うまくいきます。ただし、セッションを保存、フェッチ、および閉じるための共通のロジックがあるため、それをどこに配置すればよいかわかりません。
更新 2: Torii は、torii-adapters (例: facebook-connect.js、twitter-oauth2.js) の下にあるさまざまなアダプターを見つけるのに問題があります。共通の機能を含むすべてのアダプターの親クラスを作成しようとしていました。ふりだしに戻る...
更新 3: @Brou が指摘するように、また私が Torii チームと話をして学んだように、セッションのフェッチとクローズは、プロバイダーに関係なく、共通のアプリケーション アダプター ( app-name/torii-adapters/application.js
) ファイルで行うことができます。プロバイダー固有のセッション開始ロジックが必要な場合はapp-name/torii-adapters/facebook-oauth2.js
、アプリケーション アダプターをサブクラス化する (またはサブクラス化しない) 複数の追加アダプター (例: ) を使用できます。
Torii でのセッションのライフサイクルについて: https://github.com/Vestorly/torii/issues/219
複数のアダプターのパターンについて: https://github.com/Vestorly/torii/issues/221
Torii 0.6.0の新しいauthenticatedRoute()
DSL と auto-session-fetching について: https://github.com/Vestorly/torii/issues/222
更新 4:個人の Web サイトに調査結果と解決策を書きました。これは、私の元の投稿、@brou、およびその他の情報源からのいくつかのアイデアをカプセル化したものです。ご不明な点がございましたら、コメントでお知らせください。ありがとうございました。
java - Cannot login to LinkedIn in JavaFX WebView
I'm integrating a website into an existing Java application, which is using JavaFX WebView. Unfortunately login with LinkedIn in the website is broken.
I'm using Torii to handle the login, which opens a popup window, where the user logs in to LinkedIn. It works for normal browsers but in the JavaFX WebView it fails - after the login I end up in an error page by LinkedIn that says
Request Error, We’re sorry, there was a problem with your request. Please make sure you have cookies enabled and try again.
The Webview does support cookies, so that is not the issue.
I suspect the issue is the popup attempts to communicate to the window opener
, and fails under Java.
Do you have any idea how to make it work?
oauth - Google oAuth2 フロー - 何が間違っていますか?
http://localhost:4200でホストされている SPA があります。 http://localhost:1337 でホストされている API もあります。
私の SPA は Torii を使用してフローを処理し、authorizationCode を取得してから、処理のためにサーバーに送信しようとします。
Google での私の構成は次のとおりです。
ご覧のとおり、念のため、考えられるすべての URL を含めました。
ここで、その authenticationCode をサーバーに渡して検証し、クライアントにセッションを提供すると、常に戻ってきますredirect_uri_mismatch
- Google へのリクエストで確認できますが、redirectUrl はまさに oAuth 構成ページにリストされているものです:
私はこれを間違っていますか?ブラウザからプロセスを開始してから、サーバーから認証コードを検証できるようにする必要がありますか?
API キーとクライアント ID とシークレットがすべて正しいことを確認できます。
[アップデート]
リポジトリは次のとおりです: https://github.com/wayne-o/ember-waterlock-example
session - Torii セッションが更新後に保持されない
現在、私の Ember-cli アプリケーションは更新後にログアウトします。コードを機能させるためにコードを大幅に変更しましたが、何も役に立ちませんでした。必要に応じて、別のプロバイダーで認証を実装しようとします。
クライアントがスタイルを設定したいので、アプリケーションのルートがあり、これはログアウトと、ログインを処理するログインのルートです。
私の config/environment.js ファイルは次のようになります。
アプリ/アダプター/application.js:
app/torii-adapters/application.js:
アプリ/ルート/application.js:
アプリ/ルート/login.js:
ええ、現在、ログインとログアウトは正常に機能していますが、セッションの途中でページを更新できないか、自動的にログアウトされます。
事前に誰にでも感謝します。
ember.js - Ember Simple Auth は、Torii で認証した後、すぐにセッションを無効にします
独自の OAuth フローと Ember-Simple-Auth で Torii をセットアップしようとしています。成功した認証イベントを取得できますが、認証直後にinvalidateSession
トリガーが起動され、セッションが終了します。これは ( を含む) をインターセプトすることで確認できsessionInvalidated()
ます。/app/routes/application.js
ApplicationRouteMixin
これに出くわした人はいますか?すぐにセッションの検証を引き起こすような奇妙なことはありますか? アドバイスをいただければ幸いです。
編集:最初のリターンは機能しますが、2番目のリターンは機能しないため、鳥居ポップアップコードに関係していると思います。何かご意見は?