/// <summary>
        /// Initializes a new instance of the <see cref="BadgeController"/> class.
        /// </summary>
        /// <param name="botAdapter">Open badges bot adapter.</param>
        /// <param name="badgeUserHelper">Instance of badge user helper.</param>
        /// <param name="logger">Instance to send logs to the Application Insights service.</param>
        /// <param name="tokenHelper">Generating custom JWT token and retrieving Badgr access token for user.</param>
        /// <param name="microsoftAppCredentials">App credentials for Bot/ME.</param>
        /// <param name="superUserSettings">A set of key/value super user configuration for Badges app.</param>
        /// <param name="keyVaultHelper">Instance of key vault helper to retrieve secrets from Microsoft Azure Key Vault.</param>
        /// <param name="badgeIssuerHelper">Instance of badge Issuer helper.</param>
        /// <param name="badgrApiHelper">Helper to handle errors and get user details.</param>
        /// <param name="badgrUserHelper">Helper to get user details from Badgr.</param>
        public BadgeController(
            BotFrameworkAdapter botAdapter,
            IBadgrUserHelper badgeUserHelper,
            ILogger <BadgeController> logger,
            ITokenHelper tokenHelper,
            MicrosoftAppCredentials microsoftAppCredentials,
            IOptionsMonitor <SuperUserSettings> superUserSettings,
            IKeyVaultHelper keyVaultHelper,
            IBadgrIssuerHelper badgeIssuerHelper,
            IBadgrApiHelper badgrApiHelper,
            IBadgrUserHelper badgrUserHelper)
        {
            this.badgeUserHelper = badgeUserHelper;
            this.logger          = logger;
            this.tokenHelper     = tokenHelper;
            this.botAdapter      = botAdapter;
            this.appId           = microsoftAppCredentials.MicrosoftAppId;

            if (superUserSettings == null || superUserSettings.CurrentValue == null)
            {
                throw new Exception("Unable to fetch super user settings from configuration file.");
            }

            this.superUserSettings    = superUserSettings.CurrentValue;
            this.keyVaultBaseUrl      = this.superUserSettings.BaseUrl;
            this.superUserNameKey     = this.superUserSettings.SuperUserNameKey;
            this.superUserPasswordKey = this.superUserSettings.SuperUserPasswordKey;

            this.keyVaultHelper    = keyVaultHelper;
            this.badgeIssuerHelper = badgeIssuerHelper;
            this.badgrApiHelper    = badgrApiHelper;
            this.badgrUserHelper   = badgrUserHelper;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="BadgrIssuerHelper"/> class.
 /// </summary>
 /// <param name="client">Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.</param>
 /// <param name="logger">Instance to send logs to the Application Insights service.</param>
 /// <param name="optionsAccessor">A set of key/value application configuration properties for Bagdr rest API.</param>
 /// <param name="badgrApiHelper">Helper to handle errors and get list of issuer groups.</param>
 public BadgrIssuerHelper(HttpClient client, ILogger <BadgrApiHelper> logger, IOptionsMonitor <BadgeApiAppSettings> optionsAccessor, IBadgrApiHelper badgrApiHelper)
 {
     this.client               = client;
     this.logger               = logger;
     this.issuerEntityName     = optionsAccessor.CurrentValue.IssuerEntityName;
     this.badgeProviderBaseUrl = optionsAccessor.CurrentValue.BaseUrl;
     this.badgrApiHelper       = badgrApiHelper;
 }
Exemple #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="IssuerHttpHandler"/> class.
 /// </summary>
 /// <param name="keyVaultHelper">Instance of key vault helper to retrieve secrets from Microsoft Azure Key Vault.</param>
 /// <param name="superUserSettings">A set of key/value super user configuration for Badges app.</param>
 /// <param name="badgrApiHelper">Instance of badge API helper.</param>
 public IssuerHttpHandler(IKeyVaultHelper keyVaultHelper, IOptionsMonitor <SuperUserSettings> superUserSettings, IBadgrApiHelper badgrApiHelper)
 {
     this.keyVaultHelper       = keyVaultHelper;
     this.superUserSettings    = superUserSettings.CurrentValue;
     this.keyVaultBaseUrl      = this.superUserSettings.BaseUrl;
     this.superUserNameKey     = this.superUserSettings.SuperUserNameKey;
     this.superUserPasswordKey = this.superUserSettings.SuperUserPasswordKey;
     this.badgrApiHelper       = badgrApiHelper;
 }