我一直在使用DotNetOpenAuth v3.5.0.10357大约一年,最后决定升级到v4.0.1.12097。在这样做时,我注意到RequestUserAuthorization方法不再接受 state 参数。
//v3.5.0.10357
WebServerClient:RequestUserAuthorization(IEnumerable<string> scope = null, string state = null, Uri returnTo = null);
//v4.0.1.12097
WebServerClient:RequestUserAuthorization(IEnumerable<string> scope = null, Uri returnTo = null);
Facebook documentation,提到这有助于防止跨站点请求伪造。移除的原因是什么?
答案 0 :(得分:0)
嗯,经过多挖掘后,我发现了为什么它被删除了。 DotNetOpenAuth在内部进行状态检查( EndUserAuthorizationRequest.ClientState ),让我们不用担心。做得很好!