| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <beans xmlns="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" |
| xmlns:aop="http://www.springframework.org/schema/aop" |
| xsi:schemaLocation="http://www.springframework.org/schema/beans |
| http://www.springframework.org/schema/beans/spring-beans.xsd |
| http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd |
| http://www.springframework.org/schema/context |
| http://www.springframework.org/schema/context/spring-context.xsd"> |
| |
| <bean id="OauthProviderDao" class="org.apache.cloudstack.oauth2.dao.OauthProviderDaoImpl" /> |
| <bean id="OAuth2UserAuthenticator" class="org.apache.cloudstack.oauth2.OAuth2UserAuthenticator"> |
| <property name="name" value="oauth2"/> |
| </bean> |
| <bean id="GoogleOAuth2Provider" class="org.apache.cloudstack.oauth2.google.GoogleOAuth2Provider"> |
| <property name="name" value="google" /> |
| </bean> |
| <bean id="GithubOAuth2Provider" class="org.apache.cloudstack.oauth2.github.GithubOAuth2Provider"> |
| <property name="name" value="github" /> |
| </bean> |
| |
| <bean id="OAuth2AuthManager" class="org.apache.cloudstack.oauth2.OAuth2AuthManagerImpl"> |
| <property name="name" value="OAUTH2Auth" /> |
| <property name="userOAuth2AuthenticationProviders" value="#{userOAuth2AuthenticatorsRegistry.registered}" /> |
| </bean> |
| |
| <bean id="userOAuth2AuthenticatorsRegistry" |
| class="org.apache.cloudstack.spring.lifecycle.registry.ExtensionRegistry"> |
| <property name="orderConfigKey" value="user.oauth2.providers.order" /> |
| <property name="excludeKey" value="oauth2.plugins.exclude" /> |
| <property name="orderConfigDefault" value="google,github" /> |
| </bean> |
| |
| <bean class="org.apache.cloudstack.spring.lifecycle.registry.RegistryLifecycle"> |
| <property name="registry" ref="userOAuth2AuthenticatorsRegistry" /> |
| <property name="typeClass" |
| value="org.apache.cloudstack.auth.UserOAuth2Authenticator" /> |
| </bean> |
| </beans> |