šlj*_*ker 6 c# asp.net dotnetopenauth
我正在使用DotNetOpenAuth登录Facebook.
这是代码:
var facebookClient = new FacebookClient
{
ClientIdentifier = "appId",
ClientSecret = "appSecret"
};
IAuthorizationState authorization = facebookClient.ProcessUserAuthorization();
if (authorization == null)
{
// Kick off authorization request
facebookClient.RequestUserAuthorization();
}
else
{
var request =
WebRequest.Create("https://graph.facebook.com/me?access_token=" +
Uri.EscapeDataString(authorization.AccessToken));
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
var graph = FacebookGraph.Deserialize(responseStream);
lblFacebookUserName.Text = HttpUtility.HtmlEncode(graph.Name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为我正在使用自定义URL重写器,所以我在登录后收到错误,因为返回URL是类似的
〜/富/ foo.aspx?labg = EN
我希望它能够硬编码
〜/富/富
任何帮助,将不胜感激
您需要AuthorizationState使用回调URL 初始化对象,并将其传递给稍微不同的方法:
// Kick off authorization request
var authorizationState = new AuthorizationState()
{
Callback = new Uri(Request.Url, Page.ResolveUrl("~/foo/foo"));
};
facebookClient.PrepareRequestUserAuthorization(authorizationState).Send();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1907 次 |
| 最近记录: |