我可以调用两次Context.SetError来提供2个值吗?

时间:2015-11-18 07:55:35

标签: c# authentication owin

作为对此问题的跟进问题:

OWIN Web api 2 adding additional logic to Bearer authorization

我可以像下面这样两次调用context.SetError,将2个值返回给请求者吗?如果没有,那么正确的方法是什么?

        if (user == null)
        {
            context.SetError("invalid_grant", "The user name or password is incorrect.");
            context.SetError("error_code", 69);

            return;
        }

2 个答案:

答案 0 :(得分:1)

你是对的,你不能两次打电话。 我发现这个类似问题的答案在我的案例中非常有用: https://stackoverflow.com/a/32934494/6033048

除了错误 error_description 之外,我还需要添加 error_code ,所以我扩展了 OAuthGrantResourceOwnerCredentialsContext ,就像在user2325333&#39中一样例如。

答案 1 :(得分:0)

好的,对于那些通过未来搜索引擎访问的人来说:

NO。您不能再调用它两次以提供2个值。我最终只是序列化了(To Json)我想说的内容并将其填入error_description字段。具有半个大脑的开发人员将能够将其解释回对象并适当地使用它。