我正在开发一个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
}
答案 0 :(得分:0)
找到了一个可以运行的预先存在的开源库
https://github.com/KatanaContrib/KatanaContrib.Security.Meetup