/// <summary> /// 认证处理 /// </summary> public Task <AuthenticateResult> AuthenticateAsync() { if (_context.Request.Headers.ContainsKey(HeaderName) == false) { return(Task.FromResult(AuthenticateResult.Fail(""))); } var token = _context.Request.Headers[HeaderName].FirstOrDefault(); TokenClient client = new TokenClient(ServerAddress, ServerPort, Cert); try { string strContent = client.Verify(token).ToString(); if (Callback != null) { AuthenticationParameter parameter = new AuthenticationParameter(token); parameter.Content = strContent; if (!Callback(parameter)) { return(Task.FromResult(AuthenticateResult.Fail(""))); } else { return(Task.FromResult(AuthenticateResult.Success(GetAuthTicket(parameter.Content?.ToString())))); } } return(Task.FromResult(AuthenticateResult.Success(GetAuthTicket(strContent)))); } catch (AuthenticationException ex) { if (Callback != null) { AuthenticationParameter parameter = new AuthenticationParameter(token); if (Callback(parameter)) { return(Task.FromResult(AuthenticateResult.Success(GetAuthTicket(parameter.Content?.ToString())))); } } return(Task.FromResult(AuthenticateResult.Fail(ex.Message))); } catch { if (Callback != null) { AuthenticationParameter parameter = new AuthenticationParameter(token); if (Callback(parameter)) { return(Task.FromResult(AuthenticateResult.Success(GetAuthTicket(parameter.Content?.ToString())))); } } return(Task.FromResult(AuthenticateResult.Fail(""))); } }
public static IReadOnlyList <AuthenticationParameter> GetAuthenticationParameters(string templateId) { if (IdeServices.TemplatingService.GetSolutionTemplate(templateId) is MicrosoftTemplateEngineSolutionTemplate template) { if (template.IsSupportedParameter(AuthenticationParameter.ParameterName)) { var parameterChoices = template.GetParameterChoices(AuthenticationParameter.ParameterName); return(AuthenticationParameter.CreateSupportedParameterList(parameterChoices)); } } return(new List <AuthenticationParameter> ()); }