2017-12-06 10 views
1

[OK]を私はLinkedInのAPIを使用してしようとしていると私は、サンプルの呼び出しを構築する場合、Cakephp3奇妙な行動(最初のhttpsを削除取得)

<a href="https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https://www.example.com/auth/linkedin&state=987654321">Login</a> 

以下の例はのような表示これは、CakePHP 3の前端部には、最初のhttpsはできるだけ早く私はredirct_uirパラメータまたはそれが現在表示全体redirct_uriパラメータからhttpsを削除するよう離れ

<a href="/oauth/v2/authorization?response_type=code&amp;client_id=123456789&redirect_uri=https://www.example.com/auth/linkedin&state=wGg4ksv8WHpx26dV">Login in</a> 

ストライプなっています。誰でもこれを修正する方法や良い仕事を知っています。 apiが正常に動作するためには、両方のURLにhttpsが必要です。

+0

これまで私が思いついたのは、javascriptを使用してページの読み込み後にアンカーリンクを挿入することでした。それは動作しますが、私はそれをやりたいとは思いません。 ' 希望小売価格: – user3137609

+0

「サンプルコールを作成する」に使用しているコードの一部が表示されることがありますか?私はあなたが表示する2つのURLの状態が違うことに気付きました、それはちょうどコピーペーストのものか、あるいはあなたが期待していたものとは異なる最終結果の実際の状態ですか?後者の場合、問題は完全に別の場所にある可能性があります。 –

+0

@GregSchmidt私はブラウザが 'https'を削除していると思います。彼はクエリの部分で無効な文字を使用しています。 – cgTag

答えて

2

クエリパラメータに無効な文字が使用されています。私は、ブラウザがhttpsを取り除いていると推測します。の文字が?の照会識別子の後にあるためです。

urlencode("https://www.example.com/auth/linkedin")を呼び出して、結果をクエリパラメータとして使用する必要があります。