4

ここでわかることから、機密データ (access_token など) をクエリ文字列パラメーターに保持することはお勧めできません。

すなわち:私はこれを避けようとしています:

http://localhost.dev/web/app_dev.php/api/articles?access_token=NzJhNz.....

access_tokenしたがって、 Authorization ヘッダーでを使用して API リクエストを作成しようとしました (ここで提案されました。そうしようとすると、次のエラーが発生します。

{
    "error": "access_denied",
    "error_description": "OAuth2 authentication required"
}

ただし、リクエストは次のとおりであり、トークンは適切に設定されているようです。

GET /web/app_dev.php/api/articles HTTP/1.1
Host    localhost.dev
Authorization   access_token=N2FmNzhhNGM2MTI5N2JhMWJlYjEdZjA0ZWM3ZTRhMTM1OGM0ODJjMzQzYjM7NTk3ZTEzNTVjZDczZTljMDk2MQ
Accept-Encoding gzip, deflate
Accept  application/json
Accept-Language en;q=1, fr;q=0.9, de;q=0.8, ja;q=0.7, nl;q=0.6, it;q=0.5
Connection  keep-alive
User-Agent  Localhost/1.0 (iPhone; iOS 6.1.4; Scale/2.00)

これが可能かどうか知っている人はいFOSOAuthServerBundleますか?

注:ブラウザーで検証したところ、トークンはまだ有効です (期限切れではありません)。

4

2 に答える 2

5

ここ@alanbemが述べたように、Authorization ヘッダーは次のようになります。

Authorization: Bearer N2FmNzhhNGM2MTI5N2JhMWJlYj...

注:AFHTTPClient iOS 開発に使用している場合は(void)setAuthorizationHeaderWithToken:(NSString *)tokenメソッドをオーバーライドする必要があります。

- (void)setAuthorizationHeaderWithToken:(NSString *)token {
    [self setDefaultHeader:@"Authorization" value:[NSString stringWithFormat:@"Bearer %@", token]];
}
于 2013-09-13T06:36:09.737 に答える
0

@Mick で述べたように、Authorization ヘッダーを使用できます。

内部、PHPUnit、および Symfony リクエストを使用するその他の場所で実行している場合は、次のようなヘッダーを使用する必要があります。

$headers = ['HTTP_AUTHORIZATION' => 'Bearer  2FmNzhhNGM2MTI5N2JhMWJlYj...'];

テストを行っていて、URI や Request パラメータを台無しにしたくない場合に重要です。

于 2015-03-16T12:56:57.413 に答える