ASP.Net中的第三方安全提供商,如Google,Twitter等

时间:2015-06-22 20:51:05

标签: asp.net authentication

我在Visual Studio 2013中创建了一个标准的ASP.Net Web项目并启用了身份验证。

一个名为' StartupAuth.cs'是自动创建的,有以下几行。当应用程序在localhost dev服务器上运行时,它会在代码下面的屏幕截图中粘贴一个异常。我需要在通过Google,Twitter,Facebook和Window Live进行身份验证时在localhost dev服务器上运行。

问题:我可以为参数提供任何有效的字符串值 - clientId,clientSecret和appId吗?如果没有,那么我从哪里获得这些的有效值?

        // Uncomment the following lines to enable logging in with third party login providers
        app.UseMicrosoftAccountAuthentication(
            clientId: "",
            clientSecret: "");

        app.UseTwitterAuthentication(
           consumerKey: "",
           consumerSecret: "");

        app.UseFacebookAuthentication(
           appId: "",
           appSecret: "");

        app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
        {
            ClientId = "",
            ClientSecret = ""
        });

身份验证异常抛出 Authentication Error

更新1

由于OAuth2是第三方身份验证的最新版本,因此应使用以下网址中的说明:http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on。我按照上面的URL中的步骤操作,发现localhost上的Google身份验证工作正常。

注意:此网址(http://www.asp.net/web-api/overview/security/external-authentication-services)上的说明适用于OpenID身份验证,与最新的OAuth2身份验证不同,因此无法用于Google身份验证。

1 个答案:

答案 0 :(得分:1)

不,你不能输入任何字符串。您需要向每个提供商注册以获取所需的参数。

有关如何执行此操作的说明,请参阅http://www.asp.net/web-api/overview/security/external-authentication-services