YouTrack lets you enable authentication through any or all of supported by default OpenID providers: Google, Yahoo, America Online, and BlogSpot.
This feature is bundled in YouTrack and is configured in the *Administration* area of your YouTrack server.
*To enable OpenID authentication:*
# In the Admin Area, click *OpenID Integration*.
# In the *OpenID Integration* page, select *Enable OpenID Integration*.
# Select OpenID providers that you want to enable:
!tabs_openid.png|thumbnail!
That's all! From now on, your users are able to log in with their OpenID credentials from {{base_URL/loginForm}}:
!openid__login_page.png|thumbnail!
h3. Configuring Additional OpenID Providers
YouTrack supports four OpenID providers out of the box but you can configure additional providers.
However, any provider that you add must support AX (attribute exchange) fetch requests and return the following attributes:
* {{http://schema.openid.net/contact/email}}
* {{http://axschema.org/namePerson/first}}
* {{http://axschema.org/namePerson/last}}
*To configure an additional OpenID provider*:
# Add a new entry to the list of {{bean}} elements in {{\[YouTrack classpath\]\jetbrains\charisma\openid\persistence\OpenIdProvidersContainer.xml}}, where the {{\[YouTrack classpass\]}} depends on the way you run YouTrack. In general it's a path to the {{\WEB-INF\classes\}} directory. For example, if you run YouTrack as a jar file from command line, then the {{OpenIdProvidersContainer.xml}} is located in {{youtrack-<version>.jar\WEB-INF\classes\jetbrains\charisma\openid\persistence}}.
# In the added {{bean}} element, add four properties:
** *{{id}}*: Unique integer identifier of your OpenID provider. Default providers are assigned IDs from 0 to 3.
** *{{v2}}*: Boolean value indicating whether your provider supports OpenID 2.0: assign "true" if it does support OpenID 2.0, otherwise "false".
** *{{iconClassPathUri}}*: Path to OpenID provider logo within YouTrack classpath ({{\webapps\youtrack\WEB-INF\classes\}} in Apache Tomcat.) Don't forget to actually add a logo image in addition to referencing it in bean properties. Use 48*48 image files for OpenID providers supporting OpenID 2.0, and 22*22 files for other providers.
** *{{providerUri}}*: OpenID provider service URL.
The following listing shows how one of default OpenID providers is configured in {{OpenIdProvidersContainer.xml}}:
{code:xml}
<beans>
<bean id="openIdProvidersContainer" class="jetbrains.charisma.openid.persistence.OpenIdProvidersContainer">
<property name="providers">
<list>
<bean class="jetbrains.charisma.openid.persistence.OpenIdProvider">
<property name="id">
<!-- Integer OpenID provider ID -->
<value>0</value>
</property>
<property name="v2">
<!-- "true" if provider supports OpenID 2.0, otherwise "false" -->
<value>true</value>
</property>
<property name="iconClassPathUri">
<!-- Path to provider logo within YouTrack classpath -->
<value>smartui/img/loginGoogle.gif</value>
</property>
<property name="providerUri">
<!-- OpenID provider service URL -->
<value>https://www.google.com/accounts/o8/id</value>
</property>
</list>
</property>
</bean>
</beans>
{code}
This feature is bundled in YouTrack and is configured in the *Administration* area of your YouTrack server.
*To enable OpenID authentication:*
# In the Admin Area, click *OpenID Integration*.
# In the *OpenID Integration* page, select *Enable OpenID Integration*.
# Select OpenID providers that you want to enable:
!tabs_openid.png|thumbnail!
That's all! From now on, your users are able to log in with their OpenID credentials from {{base_URL/loginForm}}:
!openid__login_page.png|thumbnail!
h3. Configuring Additional OpenID Providers
YouTrack supports four OpenID providers out of the box but you can configure additional providers.
However, any provider that you add must support AX (attribute exchange) fetch requests and return the following attributes:
* {{http://schema.openid.net/contact/email}}
* {{http://axschema.org/namePerson/first}}
* {{http://axschema.org/namePerson/last}}
*To configure an additional OpenID provider*:
# Add a new entry to the list of {{bean}} elements in {{\[YouTrack classpath\]\jetbrains\charisma\openid\persistence\OpenIdProvidersContainer.xml}}, where the {{\[YouTrack classpass\]}} depends on the way you run YouTrack. In general it's a path to the {{\WEB-INF\classes\}} directory. For example, if you run YouTrack as a jar file from command line, then the {{OpenIdProvidersContainer.xml}} is located in {{youtrack-<version>.jar\WEB-INF\classes\jetbrains\charisma\openid\persistence}}.
# In the added {{bean}} element, add four properties:
** *{{id}}*: Unique integer identifier of your OpenID provider. Default providers are assigned IDs from 0 to 3.
** *{{v2}}*: Boolean value indicating whether your provider supports OpenID 2.0: assign "true" if it does support OpenID 2.0, otherwise "false".
** *{{iconClassPathUri}}*: Path to OpenID provider logo within YouTrack classpath ({{\webapps\youtrack\WEB-INF\classes\}} in Apache Tomcat.) Don't forget to actually add a logo image in addition to referencing it in bean properties. Use 48*48 image files for OpenID providers supporting OpenID 2.0, and 22*22 files for other providers.
** *{{providerUri}}*: OpenID provider service URL.
The following listing shows how one of default OpenID providers is configured in {{OpenIdProvidersContainer.xml}}:
{code:xml}
<beans>
<bean id="openIdProvidersContainer" class="jetbrains.charisma.openid.persistence.OpenIdProvidersContainer">
<property name="providers">
<list>
<bean class="jetbrains.charisma.openid.persistence.OpenIdProvider">
<property name="id">
<!-- Integer OpenID provider ID -->
<value>0</value>
</property>
<property name="v2">
<!-- "true" if provider supports OpenID 2.0, otherwise "false" -->
<value>true</value>
</property>
<property name="iconClassPathUri">
<!-- Path to provider logo within YouTrack classpath -->
<value>smartui/img/loginGoogle.gif</value>
</property>
<property name="providerUri">
<!-- OpenID provider service URL -->
<value>https://www.google.com/accounts/o8/id</value>
</property>
</list>
</property>
</bean>
</beans>
{code}