刚刚用PHP完成了对 OAuth客户端对象的编码,它的运行方式与Facebook,Google,LinkedIn,Live以及雅虎有着异常故障一样正常。
当复杂的重定向URL传递给Yahoo OAuth服务器进行授权时,一切似乎都能正常工作,除非Yahoo将URL中的所有& ;
个字符转换为str_replace()
字符短语,导致我创建一个{ PHP代码中的{1}}!
授权的原始重定向网址:
http://some.server.my/?Script=SignIn & OAuthProvider = Yahoo
授权操作后生成的重定向URL:
http://some.server.my/?Script=SignIn & amp; OAuthProvider = Yahoo
这会导致URL参数在黑暗中丢失!在PHP代码中使用str_replace()
会执行修复作业,但对此不满意。
任何想法为什么会发生这种情况以及如何解决它(正式和合法的方式)?提前谢谢。