我想使用 DotNetOpenAuth 从一个具有 DotNetOpenAuth 的站点连接到另一个具有 DotNetOpenAuth 的站点,以便他们可以使用彼此的 api。目标是必须授权一次,从那时起他们可以在彼此之间做事。它们必须是两个不同的站点,都是 C# 城堡项目。老实说,其中大约有 5 个需要相互交谈并使用彼此的 api,所以我只想存储一次连接,而不用担心它们断开连接。我设置了数据库来存储我相信的会话和令牌,但事实证明,DotNetOpenAuth 的文档没有那么有用。 (在撰写DotNetOpenAuth api 文档的网站时已关闭)我不清楚这个web.config设置是我需要做的所有事情,这对我来说似乎很奇怪,或者如果有一些示例可以逐步说明我所询问的内容。
它的核心问题很简单,你如何设置一个站点来授权另一个站点并且只存储一次。我的想法是我不知道这些微站点最终会有多少,只是他们必须建立双向授权连接,然后使用彼此的api。
我所需要的只是一个为 Web 应用程序设置的提供程序和一个为 Web 应用程序设置的客户端的详细示例。我敢肯定他们不会出现在同一个例子中,但我很难找到任何一步一步明确的东西。少数令人费解的示例是 MVC 示例,它们无助于轻松了解其核心。
最终目标是(站点 A)与(站点 B)和(站点 C)有连接,其中(站点 C)与(站点 A)和(站点 D)有连接,这意味着(站点 A),(站点 B ),(Site C),(Site D) 既是提供者又是客户端,我们通常会将令牌存储在数据库中的会话中(从客户端的角度来看)。不需要更多的例子来说明如何清楚地制作提供者以及如何制作客户端,因为其余部分在存储时会很明显。
更新 我一直在尝试整合这个例子,因为它是我能找到的最好的一个。问题在于,它更像是一个应用程序的提供者,而不是一个包含提供者和消费者的网站。该示例的问题在于它并没有真正与文件对齐。它轻而易举地解决了关键部分的想法。