Ejemplo n.º 1
0
        /// <summary>
        /// Acquires registry credentials for the testing network.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="registryName"></param>
        /// <param name="loginMode"></param>
        /// <returns></returns>
        public static async Task <ContainerRegistryCredentials> GetCredentialsAsync(MockContext context, string registryName, LoginMode loginMode = ContainerRegistryCredentials.LoginMode.TokenAuth)
        {
            var registryManagementClient = context.GetServiceClient <ContainerRegistryManagementClient>(handlers: CreateNewRecordedDelegatingHandler());
            var registry = await registryManagementClient.Registries.GetAsync(_testResourceGroup, registryName);

            ContainerRegistryCredentials credential = null;

            switch (loginMode)
            {
            case LoginMode.Basic:
            case LoginMode.TokenAuth:
                var registryCredentials = await registryManagementClient.Registries.ListCredentialsAsync(_testResourceGroup, registryName);

                string username = registryCredentials.Username;
                string password = registryCredentials.Passwords[0].Value;
                credential = new ContainerRegistryCredentials(loginMode, registry.LoginServer, username, password);
                break;

            case LoginMode.TokenAad:
                var aadToken = await GetAADAccessToken();

                AcquireCallback newAADCallback = () => GetAADAccessToken().GetAwaiter().GetResult();
                credential = new ContainerRegistryCredentials(aadToken, registry.LoginServer, newAADCallback);
                break;

            default:
                throw new ArgumentException($"Unkown {nameof(LoginMode)}. Expected one of ['{LoginMode.Basic}', '{LoginMode.TokenAuth}', '{LoginMode.TokenAad}'] but got '{loginMode}'");
            }

            return(credential);
        }
Ejemplo n.º 2
0
 public AuthToken(string token, AcquireCallback refreshFunction) : this(token)
 {
     RefreshFunction = refreshFunction;
 }
Ejemplo n.º 3
0
    public void Acquire(Document document, ScanSettings settings, AcquireCallback callback)
    {
      if(fActiveDataSource != null)
      {
        fDocument = document;
        OnScanningComplete = callback;

        if(fActiveDataSource.Acquire(settings) == false)
        {
          Raise_OnScanningComplete(false);
        }
      }
    }
Ejemplo n.º 4
0
 protected void InitializeToken(AcquireCallback refreshFunction)
 {
     Value           = refreshFunction();
     Expiration      = JwtSecurityClient.ReadToken(Value).ValidTo;
     RefreshFunction = refreshFunction;
 }