我可以在本地计算机上的依赖方测试服务器上的OpenID Provider吗? - DotNetOpenAuth

时间:2013-07-23 08:14:58

标签: asp.net .net openid dotnetopenauth

我使用DNOA库在Visual Studio中创建了一个提供程序和一个依赖方,但它运行良好。然后,我将提供程序移动到服务器并尝试从本地计算机的依赖方测试它。 RP给出错误“找不到OpenID端点”。

我想我在Web.config中遗漏了一些东西。在WhitelistHost属性中,我添加了通配符“*”,它应该使提供者接受任何人的请求(用于测试目的)。还有什么我不知道的吗?我对这个话题比较陌生。

Web.config -

                                                                               

<!-- The uri section is necessary to turn on .NET 3.5 support for IDN (international domain names),
   which is necessary for OpenID urls with unicode characters in the domain/host name. 
   It is also required to put the Uri class into RFC 3986 escaping mode, which OpenID and OAuth require. -->
<uri>
    <idn enabled="All"/>
    <iriParsing enabled="true"/>
</uri>

       

<!-- this is an optional configuration section where aspects of DotNetOpenAuth can be customized -->
<dotNetOpenAuth>
    <openid>
        <provider>
            <security requireSsl="false" />
            <behaviors>
                <!-- Behaviors activate themselves automatically for individual matching requests. 
           The first one in this list to match an incoming request "owns" the request.  If no
           profile matches, the default behavior is assumed. -->
                <!--<add type="DotNetOpenAuth.OpenId.Provider.Behaviors.PpidGeneration, DotNetOpenAuth"/>-->
            </behaviors>
        </provider>
    </openid>
    <messaging>
        <untrustedWebRequest>
            <whitelistHosts>
                <!-- since this is a sample, and will often be used with localhost -->
                <add name="localhost"/>
                <add name="*"/>
            </whitelistHosts>
        </untrustedWebRequest>
    </messaging>
    <!-- Allow DotNetOpenAuth to publish usage statistics to library authors to improve the library. -->
    <reporting enabled="true" />
</dotNetOpenAuth>

<appSettings>
    <add key="whitelistedRealms" value="http://localhost:39165/;http://othertrustedrealm/;http://localhost/;http://localhost:4856/"/>
    <!-- Set ImplicitAuth to true when using Windows auth, or false for FormsAuthentication -->
    <add key="ImplicitAuth" value="true"/>
</appSettings>
....

编辑:我不确定它是否重要,但服务器使用SSL。

2 个答案:

答案 0 :(得分:0)

我不确定你是否找到了这个问题的答案,但我遇到了同样的问题。我能够修复这个问题,但不仅将提供商端的白名单加入白名单,还将依赖部分端加入白名单。

答案 1 :(得分:0)

尝试在whitelisthosts配置中明确 - 将服务器的地址放入。

简而言之,RP和ID服务器上都有turn on logging。在RP上逐步完成该过程。

另外,你的开发电脑和互联网之间有代理吗?如果是这样,你需要告诉你的RP代码如何通过它进行沟通。