問題タブ [fosoauthserverbundle]
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.
php - Symfony2 1 つの API に対する 2 つの認証方法
Symfony 2 で REST API の 2 要素認証を行う可能性はありますか?
私はこのようにsthを達成したいと思います:
- エンドポイント(モバイルアプリ)のユーザーは、ログインとパスワードを動的に準備します(何らかのアルゴリズムに基づく)
- エンドポイントのユーザーは、/api/me?access_token=[ACEESTOKEN] のような API インターフェイスを要求します。
- 続行するには、ユーザーは基本認証用に作成されたログインとパスワードを渡す必要があります。
- Symfony2 は、モバイル アプリと同じ方法でログインとパスワードを準備し、モバイル アプリから送信されたものと比較します。
- 問題がなければ、Symfony2 は access_token (FOSOAuthServerBundle で実装された OAuth2) をチェックします。OK の場合、プロバイダーはアクセス トークンに基づいてユーザー オブジェクトを受け取り、ユーザーは認証され、api/me にアクセスできます。
api - Google アカウントで Symfony2 REST API を認証する
REST API で Symfony2 と FOSOauthServerBundle を使用しています。たとえば、一部のユーザーが自分の Google アカウントを使用してクライアント アプリからログインできることを望みます。
REST サーバーから Web 経由で、Google アカウント (HWIOauthBundle を使用) でログインできますが、クライアント アプリに access_token を送信する必要があります (FOSOauthServerBundle のように)。
Google から送信された access_token をデータベースに保存し、同時にクライアント アプリに json メッセージ {'access_token': 'XMekfmns.... } を Google の (そして今は私の REST API も) access_token.
私のアプローチが正しいかどうかはわかりません。何か案は?
(私の英語でごめんなさい;-))
どうもありがとうございました
security - Symfony2 - FOSOauthServerBundle - ファイアウォールの設定 - ホワイトリストのルート
私の目標は、一部を除いてすべてのルートをファイアウォールで保護された API の下に置くことです。次のようなファイアウォール構成があります。
ただし、ルートなどは/resque
、/monitor
アクセス トークンがないと到達できません。構成で何か間違ったことをしていますか? または、ルート ホワイトリストを実装することはできませんか?
symfony - oAuth 2 と FOSOAuthServerBundle で認証ページをスキップする
Symfony 2 と FOSOAuthServerBundle を使用した OAuth 2 ワークフローのインストールとテストに成功しました。
コードをリクエストし、設定したサード パーティのテスト ページの「ログイン」ボタンからアクセス/リフレッシュ トークンのペアを正常に取得し、カスタム API 呼び出しを通じて API からユーザーを取得できます。ここはかなりクールです。
ただし、最初からフローをテストするたびに、oAuth サーバーは認証ページでユーザーをリダイレクトし続けます。これが私の質問です。
- ユーザーがアプリを承認したら、プロセスの承認部分は OAuth 2.0 でスキップされるべきではありませんか?
- それはサーバー側で修正されていますか、それともクライアント サイトで資格情報を要求する方法を変更する必要がありますか?
- そして最後に...これをデバッグして修正できますか?
security - FOSbundle + FOSOAuthServerBundle ファイアウォール構成
私は、Web ログイン インターフェイスと API の OAuth 認証の両方を持つ Symfony 2.7 プロジェクトに取り組んでいます。認証プロバイダーに FOSUserBundle を使用し、OAuth 機能を提供するために FOSOAuthServerBundle を使用します。
FOSOauthServerBundle を使用した OAuth の実装については、この投稿にリンクされているガイドに従っています FOSOAuthServerBundle with FOSUserBundle - How to make it works?
もうすぐ到着すると思いますが、セキュリティ上の問題が原因でブロックされています。securtiy.yml で次のようにファイアウォールを設定しました
問題は、API と OAuth ファイアウォールがメイン ^/ の下にあるため、ログインせずに localhost:8000/api/articles にアクセスしようとすると、OAuth 認証エラーが表示される代わりに、ログイン ページが表示されることです。 :
例えば。
または、アクセストークンを取得したら、次のようなリソースにアクセスしようとすると:
リソースの代わりに fos_login を取得します。
メイン ファイアウォールを ^/secured/ に変更すると、すべて正常に動作しますが、Web 認証に問題が発生します。
私のアプリケーションのすべてのコントローラーは /secured/ パスの下にあるので、メインのファイアウォールを変更しても問題ありません。ファイアウォールから保護されていないものを ^/ パターン化して FOSUserBundle からいくつかのエラーを発生させても問題ありません。login/login_check/logout 操作用に特定のファイアウォールを作成する必要がありますか? メインのファイアウォールを /secured/ から配置する必要がありますか? または、メインのファイアウォールから OAuth & API ファイアウォールを除外する別の方法はありますか?
javascript - 新しい Symfony API にアクセスする方法
FOSUserBundle、FOSOAuthServerBundle、FOSRestBundle を組み合わせることができました。クライアントを作成し、UserController を作成しました。初めてのルートができました
http://domain.remote/api/users [ユーザーのリストを取得]。
OAuth は機能していますが、「アクセスが拒否されました」というメッセージが表示されます。この API にアクセスする JavaScript コードを書きたいと思っていますが、どこから始めればよいかわかりません。
新しい Symfony API を認証してアクセスする方法について誰か説明してもらえますか? どんな例でも非常に役に立ちます。できればJSフレームワークを念頭に置いていないので、概念を理解できます。
[編集]
いくつかの追加情報。私が書いている JS コードは、ユーザーがユーザー名/パスワードでログインし、背後で動作する API を使用してデータを管理します。