問題タブ [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.

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

symfony - プロバイダーを oauth トークンに設定する方法

[ FOSOauthServerBudle を使用して] OAuth をセットアップしました。パスワードタイプのフローの設定に取り組んでいます。

クライアント型でアクセストークンを取得できますが、パスワード型を使用するとエラーになります。

エラー: オブジェクト以外でのメンバー関数 loadUserByUsername() の呼び出し

すなわち

$user = $this->userProvider->loadUserByUsername($username); <-OAuthStorage.php 161行目

/oauth/v2/token?client_id=[CLIENTID]&client_secret=[CLIENTSECRET]&grant_type=パスワード&ユーザー名=テスト&パスワード=テスト

したがって、OAuthStorage に設定されたユーザー プロバイダーはありません。これにプロバイダーを設定する方法に関する適切なドキュメントが見つかりません。

私のセキュリティ設定

どう思いますか。何か案は?

0 投票する
0 に答える
226 参照

php - PHP: FOSOAuthServerBundle によって生成された access_token を使用するには?

トークンベースの認証で REST API アプリケーションを作成しようとしています。通話中

/ouath2/v2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=client_credentials

access_token を返します。問題ありません。
ただし、次の API リクエスト サーバーでそれを使用しようとすると、「このリソースにアクセスするには完全な認証が必要です」という例外が発生します。メッセージ。access_token を使用するいくつかの方法を試しました: クエリ ( /api/action?access_token=ACCESS_TOKEN) 内、ヘッダー ( Authorization: Bearer ACCESS_TOKEN) 内ですが、すべてうまくいきません。

構成の何が問題なのか教えていただけますか?

FOSOAuthServerBundle && FOSUserBundle を使用した config.yml の一部:

security.yml:

0 投票する
0 に答える
1886 参照

php - FOSOAuthServerBundle とカスタム認証プロバイダー

編集:エラーが見つかりました。次のようなコードの小さな平和が\vendor\friendsofsymfony\oauth-server-bundle\FOS\OAuthServerBundle\Resources\config\oauth.xmlあります。

そのため、config.yml のサービス定義が間違っているか、単なるタイプミスの場合 (元のドキュメントから)

あなたは迷っています。エラーも警告もありません。ユーザー プロバイダーは単に null です。とにかくこの投稿を読んでくれてありがとう。その件については github で議論します。

--

FOSOAuthServerBundle を使用して OAuth2 サーバーを構築しています。grant_type=password で access_token をリクエストし、カスタム UserProvider で form_login を使用する限り、すべてが稼働しています。

私の security.yml は次のようになります。

カスタム ユーザー プロバイダーは私のニーズには不十分だったので、このチュートリアルに従ってカスタム認証プロバイダーを実装しました。標準のログインフォームでログインしようとすると、これも機能します。security.yml を次のように変更しました

webservice-login は SecurityFactory から取得されます

アクセストークンを取得しようとすると、次のようなエラーが表示されます: エラー:

したがって、基本的に UserProvider は常に null です。

私がここで間違っていることを誰か知っていますか?私は完全に立ち往生しており、どんな助けも大歓迎です!

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

php - FOSOauthServerBundle __constructor エラー

私はしばらくの間 S​​ymfony 2 で RESTful API に取り組んできました。新しいエンティティ クラスを作成した昨夜までは、すべて問題ないように見えました。アクセス トークンを要求しようとすると、エラーが発生します。次のエラー メッセージが表示されます。

助けてください。ドキュメントに記載されているように、私の s2 プロジェクトでは FOSOauthServerBundle を使用しています。クライアントでコンストラクターをオーバーライドすると、致命的なエラーがスローされます: コンストラクターを呼び出せません。

編集:

注: 明確にするために、更新されたデータベースに基づいて新しいエンティティを生成するまで、すべてが正常に機能していました。composer update を使用して、プロジェクトの依存関係の更新も行いました。

AccessToken.php

AuthCode.php

クライアント.php

RefreshToken.php

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

mobile - モバイルアプリと OAuth の統合

現在、OAuth in out エコシステムの設計に取り組んでいます。もちろん、モバイルアプリがユーザー認証情報グラントタイプを使用して OAuth サーバーで認証し、さらなるワークフローのトークンを取得するという考えです。一方、保護されたリソース サーバーは、同じ OAuth サーバーでトークン情報を検証し、それに応じて応答します。

すべて明らかですが、懸念事項が 1 つあります。それが機能するようになりました。コードにコンパイルされたクライアント シークレットを使用してアプリを配信する必要があります。これにより、大きなセキュリティ ホールが開かれます。それを回避する方法はありますか、それとも問題ですか?

ありがとう、

0 投票する
0 に答える
125 参照

symfony - FOSOAuthServerBundle によるスコープ検証

Symfony 2.7 で FOSOAuthServerBundle を使用しています。

スコープを使用して、2 種類のクライアントを区別したいと考えています。

  • scope_default: クライアントは認証されたユーザー情報にのみアクセスできます
  • scope_master: クライアントはすべてを読み取ることができます

エンティティにプロパティreachable_scopesを追加しました。Client

許可されていない場合、クライアントが要求しないようにするにはscope_masterどうすればよいですか?

ありがとうございました !

0 投票する
4 に答える
2291 参照

php - ROLES と FOSOAuthServerBundle スコープの扱い方

FOSOAuthServerBundle を使用してユーザーを認証する基本的な API があります。ユーザーは、ROLE_USER および ROLE_ADMIN ロールを持つことができます。FOSOAuthServerBundle docs に基づいて、デフォルトの動作はスコープをロールとして使用することであるため、通常のユーザーがいる場合はバンドルがscope: user応答で返され、管理者ユーザーの場合はscope: admin. しかし、それはこのように機能していません。バンドルは、supported_scopesエントリで構成されているものをすべて返します。以下は私のconfig.ymlです。

の私のaccess_controlセクションsecurity.ymlは空で、私のfirewallsセクションは以下のとおりです。

この方法ではuser admin、ユーザーが ROLE_ADMIN ロールを持っていなくても、バンドルは常にスコープとして返​​されます。

私は何が欠けていますか?ユーザー ロールはトークン スコープに関連付けられていませんか? ユーザーが管理者かどうかを知る良い方法はありますか?

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

symfony - 更新呼び出しによって古いアクセス トークンを無効にすべきではありませんか?

OAuth アクセス トークンを更新するAと、新しいアクセス トークンが取得されますB。でもA有効なのでまだまだ使えます。

更新操作で古いアクセス トークンを無効にすべきではありませんか? そうでない場合、それが「設計による」ものである場合、誰かがその理由について詳細を教えてもらえますか?

注: FOSOAuthServerBundle バンドルで Symfony を使用します。