我在重定向到外部URL之前立即在Pantheon上託管的Drupal應用程序中設置cookie(讓我們只說URL爲domain.com/step/1)像這樣:在Drupal中設置PHP cookie在非Drupal腳本中無法訪問
$expires = time()+(60*60*24);
setrawcookie('tourPath', '/step/1', $expires, '/');
header('Location: http://www.someexternalurl.com?redirect='.$callback_url);
外部URL處理的方式,是不是這個問題真正相關的要求,但隨後重定向到$callback_url
。假設它是domain.com/callback
。無論如何,它位於同一個域中,但它只是一個普通的PHP腳本(不在Drupal中)。
我在這裏遇到的問題是,當重定向到回調腳本時,我可以在瀏覽器中看到設置了Cookie,但它不在$ _COOKIE數組中。
我可以在$ _COOKIE中看到各種Drupal cookie,所以在設置cookie時一般都沒有問題。
我試着用setcookie()
代替,但沒有幫助。
作爲一個副作用請注意,由於我無法控制外部服務,因此無法在回調網址中設置此「tourPath」變量:它們要求所有重定向網址都列入白名單,因此,將每一個單獨列入白名單/ step/1,/ step/2,/ step/3等... –