0

我使用 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。

4

2 回答 2

0

我不确定你是否找到了这个问题的答案,但我遇到了同样的问题。我能够修复该问题,但不仅在提供者端而且在依赖部分端也将本地主机列入白名单。

于 2013-11-27T19:39:36.347 回答
0

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

除此之外,打开RP 和 ID 服务器上的日志记录。逐步完成 RP 上的过程。

另外,您的开发 PC 和互联网之间是否有代理?如果是这样,您将需要告诉您的 RP 代码如何通过它进行通信。

于 2013-11-28T21:05:45.573 回答