Adds initial support for reading parameters passed to consent UI

This commit is contained in:
Ryan Newington
2023-11-11 16:09:12 +11:00
parent d5b3b24870
commit 28de11ee97
35 changed files with 952 additions and 19 deletions
@@ -1,14 +1,22 @@
using Microsoft.Extensions.Logging;
using System;
using Microsoft.Extensions.Logging;
using NLog;
using NLog.Extensions.Logging;
namespace Lithnet.CredentialProvider.Samples
{
internal static class InternalLogger
internal class InternalLoggerFactory : ICredentialProviderLoggerFactory
{
internal static ILoggerFactory LoggerFactory { get; }
internal static ICredentialProviderLoggerFactory Instance { get; }
static InternalLogger()
private ILoggerFactory loggerFactory;
public InternalLoggerFactory(ILoggerFactory factory)
{
this.loggerFactory = factory;
}
static InternalLoggerFactory()
{
/*
This sample uses NLog to capture trace events from the provider, but you can use any
@@ -30,7 +38,53 @@ namespace Lithnet.CredentialProvider.Samples
config.AddRule(NLog.LogLevel.Trace, NLog.LogLevel.Fatal, logconsole);
LogManager.Configuration = config;
InternalLogger.LoggerFactory = new NLogLoggerFactory(new NLogLoggerProvider(new NLogProviderOptions() { ReplaceLoggerFactory = true }, LogManager.LogFactory));
var loggerFactory = new NLogLoggerFactory(new NLogLoggerProvider(new NLogProviderOptions() { ReplaceLoggerFactory = true }, LogManager.LogFactory));
InternalLoggerFactory.Instance = new InternalLoggerFactory(loggerFactory);
}
public ICredentialProviderLogger CreateLogger(Type type)
{
return new CredentialProviderLogger(loggerFactory.CreateLogger(type));
}
public ICredentialProviderLogger CreateLogger<T>()
{
return new CredentialProviderLogger(loggerFactory.CreateLogger<T>());
}
}
public class CredentialProviderLogger : ICredentialProviderLogger
{
private readonly Microsoft.Extensions.Logging.ILogger logger;
public CredentialProviderLogger(Microsoft.Extensions.Logging.ILogger logger)
{
this.logger = logger;
}
public void LogError(Exception ex, string message)
{
this.logger.LogError(ex, message);
}
public void LogError(string message)
{
this.logger.LogError(message);
}
public void LogTrace(string message)
{
this.logger.LogTrace(message);
}
public void LogInformation(string message)
{
this.logger.LogInformation(message);
}
public void LogWarning(string message)
{
this.logger.LogWarning(message);
}
}
}
@@ -14,9 +14,9 @@ namespace Lithnet.CredentialProvider.Samples
[Guid("4eb911fa-ca18-40ea-86df-19aff5d1da58")]
public class TestCredentialProviderNet472x64 : CredentialProviderBase
{
protected override ILoggerFactory GetLoggerFactory()
protected override ICredentialProviderLoggerFactory GetLoggerFactory()
{
return InternalLogger.LoggerFactory;
return InternalLoggerFactory.Instance;
}
public override IEnumerable<ControlBase> GetControls(UsageScenario cpus)
@@ -15,7 +15,7 @@ namespace Lithnet.CredentialProvider.Samples
private SmallLabelControl CheckboxStateControl;
private SmallLabelControl ComboboxStateControl;
private ILogger logger = InternalLogger.LoggerFactory.CreateLogger<TestCredentialProviderTile>();
private ICredentialProviderLogger logger = InternalLoggerFactory.Instance.CreateLogger<TestCredentialProviderTile>();
public TestCredentialProviderTile(CredentialProviderBase credentialProvider) : base(credentialProvider)
{
@@ -13,11 +13,11 @@ namespace Lithnet.CredentialProvider.Samples
[Guid("c9055c88-03f9-4a12-8e33-1ee75826a4a6")]
public class TestCredentialProviderNet472x86 : CredentialProviderBase
{
private static readonly ILogger logger = InternalLogger.LoggerFactory.CreateLogger<TestCredentialProviderNet472x86>();
private static readonly ICredentialProviderLogger logger = InternalLoggerFactory.Instance.CreateLogger<TestCredentialProviderNet472x86>();
protected override ILoggerFactory GetLoggerFactory()
protected override ICredentialProviderLoggerFactory GetLoggerFactory()
{
return InternalLogger.LoggerFactory;
return InternalLoggerFactory.Instance;
}
public override IEnumerable<ControlBase> GetControls(UsageScenario cpus)
@@ -13,11 +13,11 @@ namespace Lithnet.CredentialProvider.Samples
[Guid("4cd12d80-9259-4f38-94dc-1828080ad9ff")]
public class TestCredentialProviderNet60x64 : CredentialProviderBase
{
private static readonly ILogger logger = InternalLogger.LoggerFactory.CreateLogger<TestCredentialProviderNet60x64>();
private static readonly ICredentialProviderLogger logger = InternalLoggerFactory.Instance.CreateLogger<TestCredentialProviderNet60x64>();
protected override ILoggerFactory GetLoggerFactory()
protected override ICredentialProviderLoggerFactory GetLoggerFactory()
{
return InternalLogger.LoggerFactory;
return InternalLoggerFactory.Instance;
}
public override IEnumerable<ControlBase> GetControls(UsageScenario cpus)
@@ -13,11 +13,11 @@ namespace Lithnet.CredentialProvider.Samples
[Guid("90592593-f4d3-4f62-aa83-9cf1f7b590e0")]
public class TestCredentialProviderNet60x86 : CredentialProviderBase
{
private static readonly ILogger logger = InternalLogger.LoggerFactory.CreateLogger<TestCredentialProviderNet60x86>();
private static readonly ICredentialProviderLogger logger = InternalLoggerFactory.Instance.CreateLogger<TestCredentialProviderNet60x86>();
protected override ILoggerFactory GetLoggerFactory()
protected override ICredentialProviderLoggerFactory GetLoggerFactory()
{
return InternalLogger.LoggerFactory;
return InternalLoggerFactory.Instance;
}
public override IEnumerable<ControlBase> GetControls(UsageScenario cpus)