asp.net mvc 5和oauth2登录

时间:2014-04-23 20:16:27

标签: c# asp.net asp.net-mvc oauth-2.0

我正在开发一个asp.net mvc 5 项目,它将使用meetup.com oauth2 api登录。不幸的是,我遇到了一个问题,我的webapp成功重定向到了meetup登录页面并且我可以点击“allow”,但随后它会停止,因为AuthenticationHandler检测到“state”字段的属性为null并且没有显示任何内容这页纸。我正在使用被动AuthenticationMode和afaik meetup.com API不使用“state”字段,因此我不确定如何阻止AuthenticationHandler返回null并在中间停止,因为它认为存在错误时没有'一个“状态”开始。以下是相关代码:

protected override async Task<AuthenticationTicket> AuthenticateCoreAsync()
    {
        AuthenticationProperties properties = null;

        try
        {
            string code = null;
            string state = null;

            IReadableStringCollection query = Request.Query;
            IList<string> values = query.GetValues("code");
            if (values != null && values.Count == 1)
            {
                code = values[0];
            }
            values = query.GetValues("state");
            if (values != null && values.Count == 1)
            {
                state = values[0];
            }

            properties = Options.StateDataFormat.Unprotect(state);
            if (properties == null)
            {
                return null; // the error here
            }

1 个答案:

答案 0 :(得分:0)

找到了一个可以运行的预先存在的开源库

https://github.com/KatanaContrib/KatanaContrib.Security.Meetup