Ejemplo n.º 1
0
        /// <summary>
        /// Creates the API key.
        /// </summary>
        /// <returns>The API key.</returns>
        /// <param name="username">Username.</param>
        /// <param name="password">Password.</param>
        public string CreateApiKey(string username, string password)
        {
            var            userArtifactoryBaseUrl = new ArtifactoryBaseUrl(this.Context.GetConfigValue("artifactory-APIurl"), username, password);
            SecurityApiKey key = null;

            try {
                key = userArtifactoryBaseUrl.Security().GetApiKey();
                if (key != null)
                {
                    userArtifactoryBaseUrl.Security().RevokeApiKey();
                }
            } catch (Exception) { }

            try {
                key = userArtifactoryBaseUrl.Security().CreateApiKey();
            } catch (Exception e) {
                this.Context.LogError(this, e.Message + "-" + e.StackTrace);
            }

            if (key != null)
            {
                return(key.apiKey);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        /***************************************************************************************************************************************/

        #region APIKEY

        /// <summary>
        /// Gets the API key.
        /// </summary>
        /// <returns>The API key.</returns>
        /// <param name="username">Username.</param>
        /// <param name="password">Password.</param>
        public string GetApiKey(string username, string password)
        {
            var userArtifactoryBaseUrl = new ArtifactoryBaseUrl(this.Context.GetConfigValue("artifactory-APIurl"), username, password);
            var apikey = userArtifactoryBaseUrl.Security().GetApiKey();

            return(apikey.apiKey);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Gets the groups.
        /// </summary>
        /// <returns>The groups.</returns>
        public List <string> GetGroups()
        {
            List <string> groups            = new List <string>();
            var           artifactoryGroups = ArtifactoryBaseUrl.Security().GetGroups();

            foreach (var g in artifactoryGroups)
            {
                groups.Add(g.Name);
            }
            return(groups);
        }
Ejemplo n.º 4
0
        /***************************************************************************************************************************************/

        #region Group

        /// <summary>
        /// Creates the group.
        /// </summary>
        /// <param name="group">Group.</param>
        public void CreateGroup(string group, string dn)
        {
            SecurityGroup config = new SecurityGroup {
                Name            = group,
                Description     = "Group synchronized from LDAP",
                Realm           = "ldap",
                AutoJoin        = false,
                RealmAttributes = string.Format("ldapGroupName={0};groupsStrategy=STATIC;groupDn={1}", group, dn)
            };

            ArtifactoryBaseUrl.Security().CreateOrReplaceGroup(config);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Generates the token.
        /// </summary>
        /// <returns>The token.</returns>
        /// <param name="username">Username.</param>
        /// <param name="domains">Domains.</param>
        /// <param name="expires_in">Expires in.</param>
        public Token GenerateToken(string username, List <string> domains, int expires_in = 3600)
        {
            var          scope  = string.Format("member-of-groups:{0}", string.Join(",", domains));
            TokenRequest config = new TokenRequest {
                username   = username,
                scope      = scope,
                expires_in = expires_in
            };

            var token = ArtifactoryBaseUrl.Security().GenerateToken(config);

            return(token);
        }
Ejemplo n.º 6
0
        /***************************************************************************************************************************************/

        #region Permissions

        /// <summary>
        /// Creates the permission for group on repo.
        /// </summary>
        /// <param name="group">Group.</param>
        /// <param name="repo">Repo.</param>
        public void CreatePermissionForGroupOnRepo(string group, string repo)
        {
            PermissionTarget permissionTarget = new PermissionTarget {
                Name         = group,
                Repositories = new List <string> {
                    repo
                }
            };

            Permissions permissions = new Permissions();

            permissions.Add(PERMISSION_DELETE);
            permissions.Add(PERMISSION_READ);
            permissions.Add(PERMISSION_DEPLOY);
            permissions.Add(PERMISSION_ANNOTATE);
            permissionTarget.Principals.Groups.Clear();
            permissionTarget.Principals.Groups.Add(group, permissions);

            ArtifactoryBaseUrl.Security().CreateOrReplacePermissionTarget(permissionTarget);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Deletes the user.
 /// </summary>
 /// <param name="username">Username.</param>
 public void DeleteUser(string username)
 {
     ArtifactoryBaseUrl.Security().DeleteUser(username);
 }
Ejemplo n.º 8
0
        /***************************************************************************************************************************************/

        #region User

        /// <summary>
        /// Gets the user info.
        /// </summary>
        /// <returns>The user info.</returns>
        /// <param name="username">Username.</param>
        public SecurityUser GetUserInfo(string username)
        {
            return(ArtifactoryBaseUrl.Security().GetUserDetails(username));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Revokes the API key.
        /// </summary>
        /// <param name="username">Username.</param>
        /// <param name="password">Password.</param>
        public void RevokeApiKey(string username, string password)
        {
            var userArtifactoryBaseUrl = new ArtifactoryBaseUrl(this.Context.GetConfigValue("artifactory-APIurl"), username, password);

            userArtifactoryBaseUrl.Security().RevokeApiKey();
        }