用localhost调试OAuth2的小技巧一则

OAuth2是个很神奇的东西,这个协议让互联网应用集成各个社交网络账号的登陆变成很简单的一个事情,只需要在各个社交网站申请开发者账号,取得对应的api id和key,然后按照OAuth协议就可以实现登陆。之前的博文申请主流社交网站的开发者账号和应用KEY可以查询每家社交网站申请开发者账号的网址。

拿到app id和key之后,一般都是在本地用localhost做测试。撸主就碰到一个问题,像facebook的OAuth2登陆,是允许用localhost做登陆成功的回调地址,这样用http://localhost就可以直接调试。但是像微软账号,就不允许回调地址是localhost,必须是注册的网站地址,这样用localhost做调试登陆成功后就无法回到应用的主页。本博文就分享一个解决方法

  1. 首先比如应用的网址是https://blchen.com
  2. 编辑C:windowssystem32driversetchosts文件,让blchen.com指向本地ip
    127.0.0.1 blchen.com
  3. 如果使用IISExpress,需要多做一步,编辑IISExpress的配置文件,一般是C:Users<UserName>DocumentsIISExpressconfigapplicationhost.config,在原先的localhost的binding后加上一行
<binding protocol="http" bindingInformation="*:54265:blchen.com" />
  1. 现在就可以用https://blchen.com 来在本地调试登陆,如果登陆成功后,因为DNS被指向了127.0.0.1,所以登陆成功后返回的就是本地的代码调试版本。

Comments

175 responses to “用localhost调试OAuth2的小技巧一则”

Leave a Reply