{"action":"created","comment":{"url":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments/73179315","id":73179315,"diff_hunk":"@@ -522,6 +523,108 @@ specific user account besides the global account used for the LDAP configuration\n After your LDAP the successful configuration of your connection and user and group mappings, you can proceed to\n configure external role mappings. This allows you to define the repository manager specific security for a LDAP\n group. More details are available in <<roles>>.\n+\t\n+[[user-token]]\n+=== Security Setup with User Tokens\n+\n+{inrmonly}\n+\n+[[user-token-intro]]\n+==== Introduction\n+\n+When using Apache Maven with {pro} or {oss}, the user credentials for accessing the repository manager have to be \n+stored in the user’s `settings.xml` file. Like a `pom.xml` your `settings.xml` is file that contains your user \n+preferences. The Maven framework has the ability to encrypt passwords within the +setting.xml+, but the need for \n+it to be reversible in order to be used limits its security.\n+\n+The +settings.xml+ lives in `$HOME/.m2`, your main Maven directory. This file contains listings for \n+personalized client or build-tool configurations such as repositories. This file is not exclusive to \n+Maven-specific repositories.\n+\n+Other build systems use similar approaches and can benefit from the usage of user tokens as well. {pro}'s user \n+token feature establishes a two-part token for the user. Usage of the token acts as a substitute method for \n+authentication that would normally require passing your username and password in plain text.\n+\n+This is especially useful for scenarios where single sign-on solutions like LDAP are used for authentication\n+against the repository manager and other systems and the plain text username and password cannot be stored in the\n+`settings.xml` following security policies. In this scenario the generated user tokens can be used instead.\n+\n+[[enable-reset-token]]\n+==== Enabling and Resetting User Tokens\n+\n+User token-based authentication can be activated by an administrator or user with the +nx-usertoken-settings+ \n+privilege. If given that privilege click the 'User Token' menu item under 'Security' in the 'Administration' \n+menu. Check the 'Enable user tokens' box, then press 'Save' to activate the feature. You can access the user \n+token from the 'Profile' mode toggle, explained in <<access-token>>.","path":"chapter-security.asciidoc","position":70,"original_position":70,"commit_id":"1e70d3d9148163df3d9cbc57bccf8de8f68c847b","original_commit_id":"1e70d3d9148163df3d9cbc57bccf8de8f68c847b","user":{"login":"joedragons","id":9559205,"avatar_url":"https://avatars.githubusercontent.com/u/9559205?v=3","gravatar_id":"","url":"https://api.github.com/users/joedragons","html_url":"https://github.com/joedragons","followers_url":"https://api.github.com/users/joedragons/followers","following_url":"https://api.github.com/users/joedragons/following{/other_user}","gists_url":"https://api.github.com/users/joedragons/gists{/gist_id}","starred_url":"https://api.github.com/users/joedragons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joedragons/subscriptions","organizations_url":"https://api.github.com/users/joedragons/orgs","repos_url":"https://api.github.com/users/joedragons/repos","events_url":"https://api.github.com/users/joedragons/events{/privacy}","received_events_url":"https://api.github.com/users/joedragons/received_events","type":"User","site_admin":false},"body":"Minor: While true I find it awkward that this text sends someone off to the Profile to check something then continues to speak about configuration especially as the next sentence is started with \"Additionally,\".  Suggest moving this late or maybe to the end of this section or making this a NOTE:.","created_at":"2016-08-02T15:33:32Z","updated_at":"2016-08-02T15:33:32Z","html_url":"https://github.com/sonatype/nexus-book/pull/198#discussion_r73179315","pull_request_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/198","_links":{"self":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments/73179315"},"html":{"href":"https://github.com/sonatype/nexus-book/pull/198#discussion_r73179315"},"pull_request":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/198"}}},"pull_request":{"url":"https://api.github.com/repos/sonatype/nexus-book/pulls/198","id":76992038,"html_url":"https://github.com/sonatype/nexus-book/pull/198","diff_url":"https://github.com/sonatype/nexus-book/pull/198.diff","patch_url":"https://github.com/sonatype/nexus-book/pull/198.patch","issue_url":"https://api.github.com/repos/sonatype/nexus-book/issues/198","number":198,"state":"open","locked":false,"title":"NEXUS-10303 Port and adapt user token security chapter to 3.1","user":{"login":"dulanism","id":5214266,"avatar_url":"https://avatars.githubusercontent.com/u/5214266?v=3","gravatar_id":"","url":"https://api.github.com/users/dulanism","html_url":"https://github.com/dulanism","followers_url":"https://api.github.com/users/dulanism/followers","following_url":"https://api.github.com/users/dulanism/following{/other_user}","gists_url":"https://api.github.com/users/dulanism/gists{/gist_id}","starred_url":"https://api.github.com/users/dulanism/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dulanism/subscriptions","organizations_url":"https://api.github.com/users/dulanism/orgs","repos_url":"https://api.github.com/users/dulanism/repos","events_url":"https://api.github.com/users/dulanism/events{/privacy}","received_events_url":"https://api.github.com/users/dulanism/received_events","type":"User","site_admin":false},"body":"JIRA: https://issues.sonatype.org/browse/NEXUS-10303\r\nCI: http://bamboo.s/browse/BOOK-NEXUS160","created_at":"2016-07-11T17:28:50Z","updated_at":"2016-08-02T15:33:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"08c39ed837df64fea4d0d06b65d72749f285cc01","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/198/commits","review_comments_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/198/comments","review_comment_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sonatype/nexus-book/issues/198/comments","statuses_url":"https://api.github.com/repos/sonatype/nexus-book/statuses/1e70d3d9148163df3d9cbc57bccf8de8f68c847b","head":{"label":"sonatype:NEXUS-10303-user-token","ref":"NEXUS-10303-user-token","sha":"1e70d3d9148163df3d9cbc57bccf8de8f68c847b","user":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"repo":{"id":188759,"name":"nexus-book","full_name":"sonatype/nexus-book","owner":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sonatype/nexus-book","description":"Repository Management with Nexus","fork":false,"url":"https://api.github.com/repos/sonatype/nexus-book","forks_url":"https://api.github.com/repos/sonatype/nexus-book/forks","keys_url":"https://api.github.com/repos/sonatype/nexus-book/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sonatype/nexus-book/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sonatype/nexus-book/teams","hooks_url":"https://api.github.com/repos/sonatype/nexus-book/hooks","issue_events_url":"https://api.github.com/repos/sonatype/nexus-book/issues/events{/number}","events_url":"https://api.github.com/repos/sonatype/nexus-book/events","assignees_url":"https://api.github.com/repos/sonatype/nexus-book/assignees{/user}","branches_url":"https://api.github.com/repos/sonatype/nexus-book/branches{/branch}","tags_url":"https://api.github.com/repos/sonatype/nexus-book/tags","blobs_url":"https://api.github.com/repos/sonatype/nexus-book/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sonatype/nexus-book/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sonatype/nexus-book/git/refs{/sha}","trees_url":"https://api.github.com/repos/sonatype/nexus-book/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sonatype/nexus-book/statuses/{sha}","languages_url":"https://api.github.com/repos/sonatype/nexus-book/languages","stargazers_url":"https://api.github.com/repos/sonatype/nexus-book/stargazers","contributors_url":"https://api.github.com/repos/sonatype/nexus-book/contributors","subscribers_url":"https://api.github.com/repos/sonatype/nexus-book/subscribers","subscription_url":"https://api.github.com/repos/sonatype/nexus-book/subscription","commits_url":"https://api.github.com/repos/sonatype/nexus-book/commits{/sha}","git_commits_url":"https://api.github.com/repos/sonatype/nexus-book/git/commits{/sha}","comments_url":"https://api.github.com/repos/sonatype/nexus-book/comments{/number}","issue_comment_url":"https://api.github.com/repos/sonatype/nexus-book/issues/comments{/number}","contents_url":"https://api.github.com/repos/sonatype/nexus-book/contents/{+path}","compare_url":"https://api.github.com/repos/sonatype/nexus-book/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sonatype/nexus-book/merges","archive_url":"https://api.github.com/repos/sonatype/nexus-book/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sonatype/nexus-book/downloads","issues_url":"https://api.github.com/repos/sonatype/nexus-book/issues{/number}","pulls_url":"https://api.github.com/repos/sonatype/nexus-book/pulls{/number}","milestones_url":"https://api.github.com/repos/sonatype/nexus-book/milestones{/number}","notifications_url":"https://api.github.com/repos/sonatype/nexus-book/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sonatype/nexus-book/labels{/name}","releases_url":"https://api.github.com/repos/sonatype/nexus-book/releases{/id}","deployments_url":"https://api.github.com/repos/sonatype/nexus-book/deployments","created_at":"2009-04-29T20:25:10Z","updated_at":"2016-07-21T02:28:46Z","pushed_at":"2016-08-02T14:35:27Z","git_url":"git://github.com/sonatype/nexus-book.git","ssh_url":"git@github.com:sonatype/nexus-book.git","clone_url":"https://github.com/sonatype/nexus-book.git","svn_url":"https://github.com/sonatype/nexus-book","homepage":"http://books.sonatype.com/nexus-book/reference/index.html","size":707515,"stargazers_count":52,"watchers_count":52,"language":"XSLT","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":25,"mirror_url":null,"open_issues_count":4,"forks":25,"open_issues":4,"watchers":52,"default_branch":"master"}},"base":{"label":"sonatype:nexus-3.1.x","ref":"nexus-3.1.x","sha":"0cdb0de4541ef9b884081b9c57c8e3b3911abb78","user":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"repo":{"id":188759,"name":"nexus-book","full_name":"sonatype/nexus-book","owner":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sonatype/nexus-book","description":"Repository Management with Nexus","fork":false,"url":"https://api.github.com/repos/sonatype/nexus-book","forks_url":"https://api.github.com/repos/sonatype/nexus-book/forks","keys_url":"https://api.github.com/repos/sonatype/nexus-book/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sonatype/nexus-book/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sonatype/nexus-book/teams","hooks_url":"https://api.github.com/repos/sonatype/nexus-book/hooks","issue_events_url":"https://api.github.com/repos/sonatype/nexus-book/issues/events{/number}","events_url":"https://api.github.com/repos/sonatype/nexus-book/events","assignees_url":"https://api.github.com/repos/sonatype/nexus-book/assignees{/user}","branches_url":"https://api.github.com/repos/sonatype/nexus-book/branches{/branch}","tags_url":"https://api.github.com/repos/sonatype/nexus-book/tags","blobs_url":"https://api.github.com/repos/sonatype/nexus-book/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sonatype/nexus-book/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sonatype/nexus-book/git/refs{/sha}","trees_url":"https://api.github.com/repos/sonatype/nexus-book/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sonatype/nexus-book/statuses/{sha}","languages_url":"https://api.github.com/repos/sonatype/nexus-book/languages","stargazers_url":"https://api.github.com/repos/sonatype/nexus-book/stargazers","contributors_url":"https://api.github.com/repos/sonatype/nexus-book/contributors","subscribers_url":"https://api.github.com/repos/sonatype/nexus-book/subscribers","subscription_url":"https://api.github.com/repos/sonatype/nexus-book/subscription","commits_url":"https://api.github.com/repos/sonatype/nexus-book/commits{/sha}","git_commits_url":"https://api.github.com/repos/sonatype/nexus-book/git/commits{/sha}","comments_url":"https://api.github.com/repos/sonatype/nexus-book/comments{/number}","issue_comment_url":"https://api.github.com/repos/sonatype/nexus-book/issues/comments{/number}","contents_url":"https://api.github.com/repos/sonatype/nexus-book/contents/{+path}","compare_url":"https://api.github.com/repos/sonatype/nexus-book/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sonatype/nexus-book/merges","archive_url":"https://api.github.com/repos/sonatype/nexus-book/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sonatype/nexus-book/downloads","issues_url":"https://api.github.com/repos/sonatype/nexus-book/issues{/number}","pulls_url":"https://api.github.com/repos/sonatype/nexus-book/pulls{/number}","milestones_url":"https://api.github.com/repos/sonatype/nexus-book/milestones{/number}","notifications_url":"https://api.github.com/repos/sonatype/nexus-book/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sonatype/nexus-book/labels{/name}","releases_url":"https://api.github.com/repos/sonatype/nexus-book/releases{/id}","deployments_url":"https://api.github.com/repos/sonatype/nexus-book/deployments","created_at":"2009-04-29T20:25:10Z","updated_at":"2016-07-21T02:28:46Z","pushed_at":"2016-08-02T14:35:27Z","git_url":"git://github.com/sonatype/nexus-book.git","ssh_url":"git@github.com:sonatype/nexus-book.git","clone_url":"https://github.com/sonatype/nexus-book.git","svn_url":"https://github.com/sonatype/nexus-book","homepage":"http://books.sonatype.com/nexus-book/reference/index.html","size":707515,"stargazers_count":52,"watchers_count":52,"language":"XSLT","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":25,"mirror_url":null,"open_issues_count":4,"forks":25,"open_issues":4,"watchers":52,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/198"},"html":{"href":"https://github.com/sonatype/nexus-book/pull/198"},"issue":{"href":"https://api.github.com/repos/sonatype/nexus-book/issues/198"},"comments":{"href":"https://api.github.com/repos/sonatype/nexus-book/issues/198/comments"},"review_comments":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/198/comments"},"review_comment":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/198/commits"},"statuses":{"href":"https://api.github.com/repos/sonatype/nexus-book/statuses/1e70d3d9148163df3d9cbc57bccf8de8f68c847b"}}}}
{"actor":{"display_login":"joedragons"}}