使用ASP.NET Web API 2进行外部身份验证 - Microsoft现在无法使用

时间:2017-08-20 23:03:48

标签: asp.net asp.net-web-api oauth-2.0 identity

我在我的ASP.NET Web Api 2中为Facebook,Google,Microsoft& amp;成功配置了外部认证服务。 Twitter大约一年前。最近重新访问我很快就能让除了微软以外的所有东西都能再次运行。我最初遵循类似于this one的教程。

我得到的第一个错误是 -

/api/Account/ExternalLogin?provider=Microsoft&response_type=token&redirect_uri=https%3A%2F%2Fwww.censored.com%2Fapi%2FAccount%2FAuthComplete&state=PgiSt-woFC7HSvc990RM5RXVdkW_ozDKy3PDpDeyeAU1&client_id=censored& error = access_denied HTTP / 1.1“302 0”https://login.live.com/oauth20_authorize.srf?client_id=0000000

我在https://apps.dev.microsoft.com删除了应用程序,认为重新添加它可能会解决问题,发现我无法以生成ClientId&的方式重新添加它。客户秘密。 Microsoft对OAuth的支持是否完全改变了,我现在必须做什么?

这是Startup类的一部分,展示了我如何配置Facebook& Microsoft OAuth。

public partial class Startup
{
    public static OAuthAuthorizationServerOptions OAuthOptions { g

    // For more information on configuring authentication, please 
    public void ConfigureAuth(IAppBuilder app)
    {
        // working 
        var fbook = new FacebookAuthenticationOptions
        {
            AppId = "sadfsda",
            AppSecret = "dsfsadf"
        };
        app.UseFacebookAuthentication(fbook);

        // not working
        var msoft = new MicrosoftAccountAuthenticationOptions
        {
            ClientId = "sadf",
            ClientSecret = "zdfsdf",
        };
        app.UseMicrosoftAccountAuthentication(msoft);

1 个答案:

答案 0 :(得分:0)

在阅读GitHub链接中的一些注释后,我能够解决这个问题。我在https://apps.dev.microsoft.com 创建了一个新的App,跳过了指导设置。然后我使用生成新密码按钮检索密码。这和我用于ClientId和ClientSecret的应用程序ID(一个guid)。添加了重定向网址,例如

https://www.sadfsdaf.com/signin-microsoft 

并且有效。