0

私がすることは、

まず、ajax を使用してコントローラー/関数「users/authenthicate」を呼び出します。

この関数は、sdk から loginurl を取得し、window.open.href を実行する javascript にそれを返します。

しかし、successvol ログインの後、同じユーザー/認証にリダイレクトされます。

質問: これは正常な動作ですか? または、リダイレクトURLを設定できますか..

質問: 疑問符の間にスラッシュを入れずに URL を返すため、この「users/authenthicate?bladeblibla」のように関数が認識されません。

※アプリ登録時にURLを設定したのですが、「http://www.domain/users/facebook_login」のような全く別のURLでした※

ありがとうリチャード

4

2 に答える 2

1

リダイレクト URI は次のように設定できます。

$linkToOauthDialog = $this->facebook->getLoginUrl(

  array(
     'scope'         =>  SCOPE_OF_THE_APP,
     'redirect_uri'  =>  REDIRECT_URI
  )

);

また、Safari では iframe にサード パーティの Cookie を設定できないことにも注意してください。そのため、最初に独自のドメインにリダイレクトし、そこで Cookie を設定して facebook に再度リダイレクトする必要があります。そうしないと、無限ループに陥ります。

この方法については、こちらで詳しく説明しています: Safari サードパーティ Cookie iframe トリックが機能しなくなりましたか?

于 2012-08-08T15:20:23.297 に答える
1

はい、これは php SDK のデフォルトの動作です。を呼び出すときに、param 配列で をgetLoginUrl()指定しないとredirect_uri、現在の URL を使用しようとします。

使用したいのは、window.open によるリダイレクトではなく、JS SDK のFB.login()メソッドだと思います (ポップアップ トラフを開きますが、ページの js に情報が返されます)。

于 2012-08-08T15:23:19.743 に答える