<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-23 
 | Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="author" content="Apache OpenMeetings Team" />
    <meta name="Date-Revision-yyyymmdd" content="20160923" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache OpenMeetings Project &#x2013; OAuth2 integration</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>

          <script type="text/javascript" src="http://openmeetings.apache.org/js/site.js"></script>
                      </head>
        <body class="topBarDisabled">
          
                
                    
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="index.html" id="bannerLeft">
                                                                                                <img src="images/logo.png"  alt="Apache OpenMeetings"/>
                </a>
                      </div>
        <div class="pull-right">                  <a href="http://apache.org" id="bannerRight">
                                                                                        <img src="http://apache.org/img/asf_logo.png"  alt="Apache"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
              
                  <li id="publishDate">Last Published: 2016-09-23
                   </li>
                      
              
      
                                    
    <li class="pull-right">
        <span class="divider">|</span>
                      <a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" class="externalLink" title="Wiki">
        Wiki</a>
      </li>

  
    <li class="pull-right">
        <span class="divider">|</span>
                      <a href="installation.html" title="Installation">
        Installation</a>
      </li>

  
    <li class="pull-right">
        <span class="divider">|</span>
                      <a href="downloads.html" title="Download">
        Download</a>
      </li>

  
    <li class="pull-right">
                      <a href="demo.html" title="Demo">
        Demo</a>
      </li>

                    </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
              
                <ul class="nav nav-list">
                                                                                                                                                                                                                      
      <li>
  
                          <a href="#general" title="General">
          <span class="icon-chevron-down"></span>
        General</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="index.html" title="Home">
          <span class="none"></span>
        Home</a>
            </li>
                    
      <li>
  
                          <a href="demo.html" title="Demo">
          <span class="none"></span>
        Demo</a>
            </li>
                    
      <li>
  
                          <a href="license.html" title="License">
          <span class="none"></span>
        License</a>
            </li>
                    
      <li>
  
                          <a href="http://www.apache.org/" class="externalLink" title="ASF">
          <span class="none"></span>
        ASF</a>
            </li>
                    
      <li>
  
                          <a href="downloads.html" title="Downloads">
          <span class="none"></span>
        Downloads</a>
            </li>
                    
      <li>
  
                          <a href="CallForLogo.html" title="Call For Logo">
          <span class="none"></span>
        Call For Logo</a>
            </li>
                    
      <li>
  
                          <a href="NewsArchive.html" title="News archive">
          <span class="none"></span>
        News archive</a>
            </li>
                    
      <li>
  
                          <a href="security.html" title="Security">
          <span class="none"></span>
        Security</a>
            </li>
                    
      <li>
  
                          <a href="commercial-support.html" title="Commercial Support">
          <span class="none"></span>
        Commercial Support</a>
            </li>
              </ul>
        </li>
                                                                                                                  
      <li>
  
                          <a href="#installation" title="Installation and Upgrade">
          <span class="icon-chevron-down"></span>
        Installation and Upgrade</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="installation.html" title="Installation">
          <span class="none"></span>
        Installation</a>
            </li>
                    
      <li>
  
                          <a href="Upgrade.html" title="Upgrade">
          <span class="none"></span>
        Upgrade</a>
            </li>
                    
      <li>
  
                          <a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" class="externalLink" title="Tutorials">
          <span class="none"></span>
        Tutorials</a>
            </li>
                    
      <li>
  
                          <a href="CommandLineAdmin.html" title="Command Line Admin">
          <span class="none"></span>
        Command Line Admin</a>
            </li>
              </ul>
        </li>
                                                                                                                  
      <li>
  
                          <a href="#community" title="Community">
          <span class="icon-chevron-down"></span>
        Community</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="get-involved.html" title="Get Involved">
          <span class="none"></span>
        Get Involved</a>
            </li>
                    
      <li>
  
                          <a href="team-list.html" title="Committers">
          <span class="none"></span>
        Committers</a>
            </li>
                    
      <li>
  
                          <a href="mail-lists.html" title="Mailing Lists">
          <span class="none"></span>
        Mailing Lists</a>
            </li>
                    
      <li>
  
                          <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" class="externalLink" title="Wiki">
          <span class="none"></span>
        Wiki</a>
            </li>
              </ul>
        </li>
                                                                                                                                                                                                                              
      <li>
  
                          <a href="#dev" title="Development">
          <span class="icon-chevron-down"></span>
        Development</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="source-repository.html" title="Source Code">
          <span class="none"></span>
        Source Code</a>
            </li>
                    
      <li>
  
                          <a href="issue-tracking.html" title="Bugs / Issues">
          <span class="none"></span>
        Bugs / Issues</a>
            </li>
                    
      <li>
  
                          <a href="dependencies.html" title="Dependencies">
          <span class="none"></span>
        Dependencies</a>
            </li>
                    
      <li>
  
                          <a href="integration.html" title="Continuous Integration">
          <span class="none"></span>
        Continuous Integration</a>
            </li>
                    
      <li>
  
                          <a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">
          <span class="none"></span>
        Build Instructions 3.0.x</a>
            </li>
                    
      <li>
  
                          <a href="BuildInstructions.html" title="Build Instructions">
          <span class="none"></span>
        Build Instructions</a>
            </li>
                    
      <li>
  
                          <a href="JUnitTesting.html" title="JUnit Testing">
          <span class="none"></span>
        JUnit Testing</a>
            </li>
                    
      <li>
  
                          <a href="ManualTesting.html" title="Manual Testing">
          <span class="none"></span>
        Manual Testing</a>
            </li>
                    
      <li>
  
                          <a href="ReleaseGuide.html" title="Release Guide">
          <span class="none"></span>
        Release Guide</a>
            </li>
                    
      <li>
  
                          <a href="WebsiteGuide.html" title="Website Guide">
          <span class="none"></span>
        Website Guide</a>
            </li>
              </ul>
        </li>
                                                                                                                                                                
      <li>
  
                          <a href="#integration" title="Integration">
          <span class="icon-chevron-down"></span>
        Integration</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="openmeetings-webservice/apidocs/index.html" target="_blank" title="SOAP/REST API">
          <span class="none"></span>
        SOAP/REST API</a>
            </li>
                    
      <li>
  
                          <a href="RestAPISample.html" title="REST API Sample">
          <span class="none"></span>
        REST API Sample</a>
            </li>
                    
      <li>
  
                          <a href="LdapAndADS.html" title="Ldap and ADS">
          <span class="none"></span>
        Ldap and ADS</a>
            </li>
                    
      <li class="active">
  
            <a href="#"><span class="none"></span>OAuth2</a>
          </li>
                    
      <li>
  
                          <a href="voip-sip-integration.html" title="VoIP and SIP">
          <span class="none"></span>
        VoIP and SIP</a>
            </li>
                    
      <li>
  
                          <a href="errorvalues.html" title="Errors table">
          <span class="none"></span>
        Errors table</a>
            </li>
              </ul>
        </li>
                                                                                                                                                                                                            
      <li>
  
                          <a href="#plugins" title="Plugins">
          <span class="icon-chevron-down"></span>
        Plugins</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="MoodlePlugin.html" title="Moodle Plugin">
          <span class="none"></span>
        Moodle Plugin</a>
            </li>
                    
      <li>
  
                          <a href="SakaiPlugin.html" title="Sakai Plugin">
          <span class="none"></span>
        Sakai Plugin</a>
            </li>
                    
      <li>
  
                          <a href="JiraPlugin.html" title="Jira Plugin">
          <span class="none"></span>
        Jira Plugin</a>
            </li>
                    
      <li>
  
                          <a href="JoomlaPlugin.html" title="Joomla Plugin">
          <span class="none"></span>
        Joomla Plugin</a>
            </li>
                    
      <li>
  
                          <a href="DrupalPlugin.html" title="Drupal Plugin">
          <span class="none"></span>
        Drupal Plugin</a>
            </li>
                    
      <li>
  
                          <a href="BitrixPlugin.html" title="Bitrix Plugin">
          <span class="none"></span>
        Bitrix Plugin</a>
            </li>
                    
      <li>
  
                          <a href="ConfluencePlugin.html" title="Confluence Plugin">
          <span class="none"></span>
        Confluence Plugin</a>
            </li>
                    
      <li>
  
                          <a href="SugarCRMPlugin.html" title="SugarCRM Plugin">
          <span class="none"></span>
        SugarCRM Plugin</a>
            </li>
                    
      <li>
  
                          <a href="RedminePlugin.html" title="Redmine Plugin">
          <span class="none"></span>
        Redmine Plugin</a>
            </li>
              </ul>
        </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      <li>
  
                          <a href="#config" title="Configuration">
          <span class="icon-chevron-down"></span>
        Configuration</a>
                    <ul class="nav nav-list">
                                                                                                                                                          
      <li>
  
                          <a href="#db" title="DB Sample Configurations">
          <span class="icon-chevron-down"></span>
        DB Sample Configurations</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="ApacheDerbyConfig.html" title="Apache Derby">
          <span class="none"></span>
        Apache Derby</a>
            </li>
                    
      <li>
  
                          <a href="IBMDB2Config.html" title="IBM DB2">
          <span class="none"></span>
        IBM DB2</a>
            </li>
                    
      <li>
  
                          <a href="OracleConfig.html" title="Oracle">
          <span class="none"></span>
        Oracle</a>
            </li>
                    
      <li>
  
                          <a href="MySQLConfig.html" title="MySQL">
          <span class="none"></span>
        MySQL</a>
            </li>
                    
      <li>
  
                          <a href="PostgresConfig.html" title="Postgres">
          <span class="none"></span>
        Postgres</a>
            </li>
                    
      <li>
  
                          <a href="MSSQLConfig.html" title="MSSQL">
          <span class="none"></span>
        MSSQL</a>
            </li>
              </ul>
        </li>
                                                                                                                      
      <li>
  
                          <a href="#localization" title="Localization and languages">
          <span class="icon-chevron-down"></span>
        Localization and languages</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="Internationalisation.html" title="Internationalisation">
          <span class="none"></span>
        Internationalisation</a>
            </li>
                    
      <li>
  
                          <a href="LanguageEditor.html" title="LanguageEditor">
          <span class="none"></span>
        LanguageEditor</a>
            </li>
                    
      <li>
  
                          <a href="TimeZoneHandling.html" title="TimeZoneHandling">
          <span class="none"></span>
        TimeZoneHandling</a>
            </li>
                    
      <li>
  
                          <a href="EditTemplates.html" title="EditTemplates">
          <span class="none"></span>
        EditTemplates</a>
            </li>
              </ul>
        </li>
                                                                
      <li>
  
                          <a href="#port" title="NAT Port Settings">
          <span class="icon-chevron-down"></span>
        NAT Port Settings</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="PortSettings.html" title="Port settings">
          <span class="none"></span>
        Port settings</a>
            </li>
              </ul>
        </li>
                                                                                  
      <li>
  
                          <a href="#performance" title="Performance">
          <span class="icon-chevron-down"></span>
        Performance</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="JVMPerformanceTuning.html" title="JVM performance tuning">
          <span class="none"></span>
        JVM performance tuning</a>
            </li>
                    
      <li>
  
                          <a href="NetworkCalculator.html" title="Network bandwidth calculator">
          <span class="none"></span>
        Network bandwidth calculator</a>
            </li>
              </ul>
        </li>
                                                                                                                                        
      <li>
  
                          <a href="#interface" title="User Interface">
          <span class="icon-chevron-down"></span>
        User Interface</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="themes-and-branding.html" title="Themes">
          <span class="none"></span>
        Themes</a>
            </li>
                    
      <li>
  
                          <a href="Dashboard.html" title="Dashboard">
          <span class="none"></span>
        Dashboard</a>
            </li>
                    
      <li>
  
                          <a href="WebcamResolutions.html" title="Webcam resolutions">
          <span class="none"></span>
        Webcam resolutions</a>
            </li>
                    
      <li>
  
                          <a href="ConferenceRoomLayoutOptions.html" title="Room layout options">
          <span class="none"></span>
        Room layout options</a>
            </li>
                    
      <li>
  
                          <a href="HotKeys.html" title="Hot Keys">
          <span class="none"></span>
        Hot Keys</a>
            </li>
              </ul>
        </li>
                                                                                                                                                          
      <li>
  
                          <a href="#customize" title="Customization">
          <span class="icon-chevron-down"></span>
        Customization</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="WebappNamePath.html" title="Webapp name/path">
          <span class="none"></span>
        Webapp name/path</a>
            </li>
                    
      <li>
  
                          <a href="Navigation.html" title="Navigation">
          <span class="none"></span>
        Navigation</a>
            </li>
                    
      <li>
  
                          <a href="CalendarAndTimezone.html" title="Calendar and timezone">
          <span class="none"></span>
        Calendar and timezone</a>
            </li>
                    
      <li>
  
                          <a href="CustomRoomTypeHowTo.html" title="Custom room type">
          <span class="none"></span>
        Custom room type</a>
            </li>
                    
      <li>
  
                          <a href="CustomCryptMechanism.html" title="Custom crypt mechanism">
          <span class="none"></span>
        Custom crypt mechanism</a>
            </li>
                    
      <li>
  
                          <a href="GeneralConfiguration.html" title="General Configuration">
          <span class="none"></span>
        General Configuration</a>
            </li>
              </ul>
        </li>
                                                                                  
      <li>
  
                          <a href="#security" title="Security">
          <span class="icon-chevron-down"></span>
        Security</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="RestrictedAccess.html" title="Restricted Access">
          <span class="none"></span>
        Restricted Access</a>
            </li>
                    
      <li>
  
                          <a href="RTMPSAndHTTPS.html" title="RTMPS and HTTPS">
          <span class="none"></span>
        RTMPS and HTTPS</a>
            </li>
              </ul>
        </li>
                                                                                  
      <li>
  
                          <a href="#convert" title="Converters">
          <span class="icon-chevron-down"></span>
        Converters</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="OpenOfficeConverter.html" title="OpenOffice Converter">
          <span class="none"></span>
        OpenOffice Converter</a>
            </li>
                    
      <li>
  
                          <a href="FFMPEGVersionSwitch.html" title="FFMPEG Version Switch">
          <span class="none"></span>
        FFMPEG Version Switch</a>
            </li>
              </ul>
        </li>
                                                                
      <li>
  
                          <a href="#cluster" title="Clustering">
          <span class="icon-chevron-down"></span>
        Clustering</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="Clustering.html" title="Clustering">
          <span class="none"></span>
        Clustering</a>
            </li>
              </ul>
        </li>
                                                                
      <li>
  
                          <a href="#misc" title="Misc">
          <span class="icon-chevron-down"></span>
        Misc</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="GetVersionInfo.html" title="Get version info">
          <span class="none"></span>
        Get version info</a>
            </li>
              </ul>
        </li>
              </ul>
        </li>
                      </ul>
              
                
          <hr />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span10" >
                                  
            
	
		<div class="section">
<h2><a name="OAuth2_integration"></a>OAuth2 integration</h2>
			
<p>You need Apache Openmeetings <b>version 3.0</b> to apply this guide!</p>
			
<p>You can manage various OAuth2 servers by opening &quot;Administration =&gt; OAuth2&quot;. There are already created servers like Facebook or Google. You can use them as example or in production. To add your own servers you need to get their documentation to set necessary attributes.</p>
		</div>
		
<div class="section">
<h2><a name="Attributes"></a>Attributes</h2>
			
<ul>
				
<li><i>Name</i> - displayed in the login dialog text</li>
				
<li><i>client_id</i> and <i>client_secret</i> - credentials which you got from your oauth2 server.</li>
				
<li><i>Redirect uri</i> - put this value into application settings in the oauth2 server.</li>
				
<li><i>Request key URL</i> - an URL which will be used to request access key.</li>
				
<li><i>Request token URL</i> - an URL which will be used to request access token.</li>
				
<li><i>Request token attributes</i> - attributes for access token request.</li>
				
<li><i>Request info URL</i> - an URL which will be used to request authentication attributes.</li>
				
<li><i>Login param name</i> - login key name to get value from info response.</li>
				
<li><i>Email param name</i> - email key name to get value from info response.</li>
				
<li><i>Firstname param name</i> - firstname key name to get value from info response.</li>
				
<li><i>Lastname param name</i> - lastname key name to get value from info response.</li>
			</ul>
			
<p>Request attributes (request key url, request token url, request token attributes, request info url) may contain next variables as a part:</p>
			
<ul>
				
<li>{$client_id}</li>
				
<li>{$client_secret}</li>
				
<li>{$redirect_uri}</li>
				
<li>{$code}</li>
				
<li>{$access_token}</li>
			</ul>
		</div>
	

                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
                      <div class="row-fluid">
                                      <p >Copyright &copy;                    2012&#x2013;2016
                        <a href="http://apache.org">Apache Software Foundation</a>.
            All rights reserved.    
      </p>
                </div>

        
                </div>
    </footer>
        </body>
</html>
