我使用这个指南:https://developers.google.com/+/web/signin/server-side-flow。步骤2说"创建一个反请求伪造状态令牌",并给出了这个示例代码:
// Create a state token to prevent request forgery.
// Store it in the session for later validation.
$state = md5(rand());
$app['session']->set('state', $state);
// Set the client ID, token state, and application name in the HTML while
// serving it.
return $app['twig']->render('index.html', array(
'CLIENT_ID' => CLIENT_ID,
'STATE' => $state,
'APPLICATION_NAME' => APPLICATION_NAME
));
我把这段代码放在哪里?我不知道。我试着把它放在第7步服务器上的确认之前,但这似乎是错误的。我得到一个内部服务器错误。我试着把它放在登录按钮所在页面的HTML之前。页面甚至无法加载
谷歌的教程似乎真的很糟糕。在这个问题的一个答案中,它说教程中的代码是不完整的。这是真的吗?有人知道更好的最新指南吗?
这需要在服务器端完成,作为返回页面时要做的事情之一。如果您正在使用MVC框架,并且这段代码假设您正在或至少正在使用模板引擎,那么这应该是处理发送页面返回的控制器的一部分。