{"id":15151,"date":"2016-04-04T20:01:15","date_gmt":"2016-04-04T13:01:15","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/?p=15151"},"modified":"2022-08-03T08:32:33","modified_gmt":"2022-08-03T16:32:33","slug":"azure-active-directory-aad-authentication-plug-in-for-sonarqube","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/azure-active-directory-aad-authentication-plug-in-for-sonarqube\/","title":{"rendered":"Azure Active Directory (AAD) Authentication Plug-in for SonarQube"},"content":{"rendered":"<p>The <a href=\"https:\/\/github.com\/SonarQubeCommunity\/sonar-auth-aad\" target=\"_blank\" rel=\"noopener\">AAD OAuth2 provider for SonarQube<\/a> enables AAD users to automatically be sign up and authenticated on a SonarQube server.<\/p>\n<p>Depending on the OAuth 2.0 providers you have enabled on the SonarQube server, you may see several login buttons.<br \/>\nIn the image below, only the AAD provider has been enabled.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/6\/2019\/05\/loginwithAD.png\"><img decoding=\"async\" title=\"loginwithAD\" style=\"border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px\" border=\"0\" alt=\"loginwithAD\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2016\/04\/loginwithAD_thumb.png\" width=\"214\" height=\"191\" \/><\/a><\/p>\n<h2>Get the v1 bits!<\/h2>\n<p><a href=\"https:\/\/github.com\/SonarQubeCommunity\/sonar-auth-aad\/releases\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" title=\"image\" style=\"border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2016\/04\/image746.png\" width=\"131\" height=\"30\" \/><\/a>\u00a0 <a href=\"https:\/\/github.com\/SonarQubeCommunity\/sonar-auth-aad\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" title=\"image\" style=\"border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2016\/04\/image747.png\" width=\"136\" height=\"30\" \/><\/a>\u00a0 <a href=\"https:\/\/channel9.msdn.com\/...\/Azure-Active-Directory-AAD-Authentication-Plug-in-for-SonarQube\" target=\"_blank\" rel=\"noopener\"><\/a><a href=\"https:\/\/channel9.msdn.com\/Series\/Visual-Studio-ALM-Rangers-Demos\/Azure-Active-Directory-AAD-Authentication-Plug-in-for-SonarQube\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" title=\"image\" style=\"border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2016\/04\/image1710.png\" width=\"41\" height=\"30\" \/><\/a><\/p>\n<h2>How to install it?<\/h2>\n<p>The <a href=\"https:\/\/github.com\/SonarQubeCommunity\/sonar-auth-aad\/blob\/master\/README.md\" target=\"_blank\" rel=\"noopener\">README<\/a> on the open source repo provides all the instructions to:<\/p>\n<ol>\n<li>Create an AD application in your AAD tenant. <\/li>\n<li>Install the plug-in on the SonarQube server. <\/li>\n<li>Configure the plug-in with the information about the AAD Application you created in step 1.<\/li>\n<\/ol>\n<h2>Pre-requisites on the SonarQube server<\/h2>\n<p>As a pre-requisite, the SonarQube server needs to be enabled for HTTPS. The instructions in the <a href=\"https:\/\/github.com\/SonarQubeCommunity\/sonar-auth-aad\/blob\/master\/README.md\" target=\"_blank\" rel=\"noopener\">README<\/a> also explain how to do that.<\/p>\n<h2>What\u2019s Next?<\/h2>\n<p>Team is looking into adding support for group synchronization. Today a user is created in SonarQube from your AAD identifier, and you are logged-in, but the authorizations still need to be handled on the SonarQube server. In the next release of the plug-in, we\u2019ll handle group synchronization so that setting permissions on the SonarQube server can be done at a group level.<\/p>\n<h2>We look forward to hearing from you<\/h2>\n<p>We need your feedback. Here are some ways to connect with us:<\/p>\n<ul>\n<li>Add a comment below <\/li>\n<li>Send us a tweet <a href=\"https:\/\/twitter.com\/almrangers\" target=\"_blank\" rel=\"noopener\">@almrangers<\/a> <\/li>\n<li>Collaborate with the SonarQube <a href=\"https:\/\/groups.google.com\/forum\/#!topic\/sonarqube\/z8dBVCVRGLM\" target=\"_blank\" rel=\"noopener\">community<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The AAD OAuth2 provider for SonarQube enables AAD users to automatically be sign up and authenticated on a SonarQube server. Depending on the OAuth 2.0 providers you have enabled on the SonarQube server, you may see several login buttons. In the image below, only the AAD provider has been enabled. Get the v1 bits! \u00a0 [&hellip;]<\/p>\n","protected":false},"author":64,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[228,229,1,249],"tags":[],"class_list":["post-15151","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-admin-licensing","category-community","category-devops","category-open-source"],"acf":[],"blog_post_summary":"<p>The AAD OAuth2 provider for SonarQube enables AAD users to automatically be sign up and authenticated on a SonarQube server. Depending on the OAuth 2.0 providers you have enabled on the SonarQube server, you may see several login buttons. In the image below, only the AAD provider has been enabled. Get the v1 bits! \u00a0 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/15151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=15151"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/15151\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/45953"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=15151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=15151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=15151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}