大佬教程收集整理的这篇文章主要介绍了asp.net-mvc-4 – 使用WebApi和外部登录的ASP.NET身份,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经创建了一个视觉工作室模板的SPA项目,我已经测试了使用fiddler和chrome开发工具监视http请求的登录过程.我已经使用邮递员尝试了以下请求
GET:http:// localhost:49577 / api / Account / ExternalLogins?returnUrl = /& generateState = true
响应:
[{ "Name": "Facebook","Url": "/api/Account/ExternalLogin?provider=Facebook&response_type=token&client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A49577%2F&state=jpePf27F3ufkCCEldFdoOVMEGBGTEO1CrrdUQ3bHEP01","State": "jpePf27F3ufkCCEldFdoOVHSGBGTEO1CrrdUQ3bHEP01" }]
然后我打电话
GET:http:// localhost:49577 / api / Account / ExternalLogin?provider = Facebook& response_type = token& client_id = self& redirect_uri = http:// localhost:49577 /& state = jpePf27F3ufkCCEldFdoOVMEGBGTEO1CrrdUQ3bHEP01
它调用AccountsController的GetExternalLogin方法.然后,当用户未通过身份验证时,它返回一个ChALLENgeResult的实例.
这是我卡住的地方
Q1:ChALLENgeResult强制使用一些查询字符串参数将301重定向到facebook登录页面.我不想要这个,我想让它给我参数,但让我处理我的ajax请求中的日志记录.我试过评论这行代码
request.GetOwinContext().Authentication.ChALLENge(LoginProvider);
但是我最终没有得到一个401,我如何控制ChallegeResult的响应?
Q2.另外,我不清楚下面这个什么,在我从Facebook获取访问令牌之后,如果我已经获得了访问令牌,那么我应该调用哪个webapi终点呢?
我一整天都已经google了,但我找不到任何回答我问题的东西.任何帮助将不胜感激.
谢谢
更新:
关于Q2我已经弄清楚下一步,那就是
GET:http:// localhost:49164 / signin-facebook?code = …& state = …
这返回另一个302重定向到
http://localhost:49164/api/Account/ExternalLogin?provider=Facebook&response_type=token&client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A49164%2F&state=7oGPd37EA-nmtXPtYEQ40qnretDeKjbPEM1gNkb2DuM1
这又返回另一个302,然后重定向到
http://localhost:49164/#access_token=...
那么如何处理来自移动非浏览器客户端的所有重定向?
我正在尝试找到处理控制器的操作
?http://本地主机:49164 /登入Facebook的代码= …&安培;状态= …
谁能帮忙?
updatE
我已经发布了这个问题,学到了很多关于facebool登录流程,这也许我应该已经做了!
我还有一个问题,但我创造了a different question for that here,以防止混乱
以上是大佬教程为你收集整理的asp.net-mvc-4 – 使用WebApi和外部登录的ASP.NET身份全部内容,希望文章能够帮你解决asp.net-mvc-4 – 使用WebApi和外部登录的ASP.NET身份所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。