Facebook OAuth登录错误没有" www"在网址

时间:2018-01-01 05:01:10

标签: asp.net facebook-oauth

我在Facebook Oauth登录时遇到问题。

在我的网站上尝试使用Facebook(OpenAuth)登录时,我遇到了此错误。

  • 条件1:如果我尝试使用网址www.medimart.com.np/sf/sfLogin.aspx登录。登录成功,一切正常。

  • 条件2:但是如果我尝试使用网址medimart.com.np/sf/sfLogin.aspx登录。 登录失败,我收到错误消息:

      

    "消息":"无法加载网址:此网址的域名未包含在应用网域中。要加载此网址,请将应用的所有域和子域添加到应用设置中的应用域名字段。"

我该如何解决这个问题?

setting Image Facebook Login Page Setting

2 个答案:

答案 0 :(得分:1)

Facebook总是会检查 WWW 域名。因此,请确保 www.medimart.com.np 正在您的浏览器上运行。

您必须在此处修改主机文件:

C:\Windows\System32\drivers\etc

并添加以下行:

127.0.0.1 medimart.com.np
127.0.0.1 www.medimart.com.np

请参见如何Modify your hosts file

来自 Ermir 评论的link分享。

  

www子域的主题有两个阵营。一个人认为它应该被强制执行(www.yes-www.org)而另一个(no-www.org)应该被删除。他们都是对的。

     

重要的是,您的网站只有一个规范地址 - 有或没有www。

     

您的服务器需要安装URL Rewrite module。它可能已经存在。 Azure网站以及我所有其他托管服务提供商都这样做。

对于域名没有WWW 使用以下规则:

<rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions>
    <add input="{CACHE_URL}" pattern="*://www.*" />
  </conditions>
  <action type="Redirect" url="{C:1}://{C:2}" redirectType="Permanent" />
</rule>

对于域名使用WWW

使用以下规则
<rule name="Enforce WWW" stopProcessing="true">
  <match url=".*" />
  <conditions>
    <add input="{CACHE_URL}" pattern="^(.+)://(?!www)(.*)" />
  </conditions>
  <action type="Redirect" url="{C:1}://www.{C:2}" redirectType="Permanent" />
</rule>

现在您可以在web.config文件中添加以上规则:

<system.webServer>
  <rewrite>
    <rules>
      <!-- Add your rules here -->
    </rules>
  </rewrite>
</system.webServer>

答案 1 :(得分:1)

正如@ AsifAli72090建议的那样,这是我所学到的。

“Facebook总是会检查WWW域名。”

因此,在尝试使用您的Facebook帐户登录时,您的域中必须有“www”。将“yourdomain.com”重定向到“www.yourdomain.com”。所以我最终在web.config文件中添加了这段代码

<system.webServer>
<rewrite>
  <rules>
    <rule name="Redirect domain.com to www" patternSyntax="ECMAScript" stopProcessing="true">
        <match url=".*" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^yourdomain.com$" />
        </conditions>
        <action type="Redirect" url="http://www.yourdomain.com/{R:0}" />
    </rule>
</rules>
</rewrite>
</system.webServer>