猿问

OAuth 2.0怎么自定义授权失败信息

/// <summary>

        ///     验证客户端

        /// </summary>

        /// <param name="context"></param>

        /// <returns></returns>

        public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)

        {

            string clientId;

            string clientSecret;

            context.TryGetFormCredentials(out clientId, out clientSecret);

            //context.TryGetBasicCredentials(out clientId, out clientSecret); //Basic认证


            //TODO:读库,验证

            if (clientId != "malfy" && clientSecret != "111111")

            {

                context.SetError("invalid_client", "client is not valid");

                return;

            }

            context.OwinContext.Set("as:client_id", clientId);

            context.Validated(clientId);

        }

如上面的代码,微软提供了context.SetError(),但往往在实际开发中,我们要定义自己的错误信息格式,比如返回统一格式的json。


绝地无双
浏览 1561回答 1
1回答

杨__羊羊

错误能抛出来吗,然后在异常统一处理地方设置需要的格式。
随时随地看视频慕课网APP
我要回答