如何开始在我的WebMatrix网站上使用OpenID/OAuth?

Voi*_*ing 6 c# openid oauth webmatrix asp.net-webpages

如果我滥用或混淆OpenID和OAuth这两个术语,我很抱歉,我仍然是这个分散登录过程的新手.

我几天来一直试图让我的网站(内置WebMatrix)识别谷歌登录.问题是我需要在我的_AppStart.cshtml文件中使用这行代码(来自我研究过的代码):

OAuthWebSecurity.RegisterGoogleClient();
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试后,这种说法是在地方执行这个网站,我只是得到了一个服务器错误,指出OAuthWebSecurity.RegisterGoogleClient();没有在当前的背景下存在.

我以为我可能需要OAuth库,不同的帮助器或其他一些软件包,但是我看到的唯一相关软件包(Microsoft WebPages OAuth库2.0.20710.0)我无法获得,因为WebMatrix不支持NuGet的版本它说我需要(2.0).

我之前从未使用此方法进行登录,我想了解如何为我的客户构建此功能.我希望做的就是打开起动模板,并复制我的文件了.我使用我不理解的代码时遇到问题.我觉得这对我来说是一个可怕的习惯(在我甚至使用jQuery插件之前,我需要一些说服力).它也可能会提到我将不会使用任何其他第三方服务进行此登录.我们将gmail用于员工的公司电子邮件帐户,因此我需要Google登录即可使用此解决方案.

我尝试过的事情:

  • 谷歌搜索我的其他场景.失败,因为找不到相关的搜索结果(即,我无法找到符合我的方案的结果)
  • 搜索早期版本的Microsoft WebPages OAuth库2.0.20710.0程序包.失败,因为我的搜索没有返回这样的包.
  • 使用时OAuthWebSecurity.RegisterOpenIDClient(BuiltInOpenIDClient.Google);代替OAuthWebSecurity.RegisterGoogleClient(); Fails的原因与使用时相同OAuthWebSecurity.RegisterGoogleClient();
  • 访问站点管理并下载OAuth库. 因为NuGet需要更新而失败
  • 由于此处提到的内容(显然是WebMatrix的已知错误) 更新Nuget 失败:http : //forums.asp.net/t/1836913.aspx/1?Error+updating + DotNetOpenAuth+updates+with+NuGet+Gallery
  • 打开Starter Site Template,它已经内置了OAuth并且功能齐全.未能告诉我为什么这个网站会识别OAuthWebSecurity.RegisterGoogleClient()而我的没有,因为没有明确的方式(我知道)告诉第三方软件的pacakages,更新和/或版本可能有所不同.
  • 创建新的Starter Site并从*"App_Data"*和"bin"文件夹中复制任何基于OAuth的丢失文件.失败的原因是没有观察到任何行为变化.

----------------------------------------- 更新 -------- --------------------------------

到目前为止,迄今为止,至少对我而言,解决此问题的最佳解决方案是使用WebMatrix中的"Starter Site"模板,无论我喜欢与否.

然而,我最担心的事情之一是,有太多无关的文件,我不知道我能做什么,也不能删除,以保持网站清洁,同时仍然让OAuthWebSecurity()课程完全可访问和功能.然而,我在"Starter Site"模板中只保留了"bin"和"App_Data"文件夹(当然包括所有内容),并在移动文件之前删除了其他所有内容(包括web.config文件),到目前为止,这似乎对我很有用.

使用上面提到的步骤,我保持我的网站清理不必要的代码,同时仍然可以访问OAuthWebSecurity()该类.

在未来(我想象WebMatrix 3发布时),这个bug可能会被修复,OAuth库的简单管理站点安装不需要WebMatrix不支持的NuGet版本,但在此之前,这是最好的回答我.

Pur*_*ome 2

这个GitHub 项目有帮助吗:WorldDomination.Web.Authentication

在此输入图像描述

还有一个MVCNancyFX nuget 包,如果您喜欢的话,它可以进行一些自动连接。

免责声明:我从来没有尝试过这个Webmatrix,也永远不会计划尝试它。也就是说,它可能仍然有效!:)