public async Task ValidateAsync(ExtensionGrantValidationContext context) { var phone = context.Request.Raw.Get("phone"); var authcode = context.Request.Raw.Get("auth_code"); var errorGrantValidationResult = new GrantValidationResult(TokenRequestErrors.InvalidGrant); if (string.IsNullOrEmpty(phone) || string.IsNullOrEmpty(authcode)) { context.Result = errorGrantValidationResult; return; } if (!await _authcodeservice.ValidateAuthCode()) { context.Result = errorGrantValidationResult; return; } var userid = await _userService.CheckOrCreate(phone); if (!userid) { context.Result = errorGrantValidationResult; return; } context.Result = new GrantValidationResult(userid.ToString(), GrantType); }