⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 openidextensionfactory.java

📁 开源的OpenId的一个java实现
💻 JAVA
字号:
/*
 * Copyright 2005-2008 WSO2, Inc. (http://wso2.com) Licensed 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.
 */

package org.wso2.solutions.identity.openid;

import org.openid4java.message.ax.AxMessage;
import org.openid4java.message.pape.PapeMessage;
import org.openid4java.message.sreg.SRegMessage;
import org.wso2.solutions.identity.IdentityConstants;
import org.wso2.solutions.identity.openid.extensions.OpenIDAttributeExchange;
import org.wso2.solutions.identity.openid.extensions.OpenIDExtension;
import org.wso2.solutions.identity.openid.extensions.OpenIDPape;
import org.wso2.solutions.identity.openid.extensions.OpenIDSimpleReg;

public class OpenIDExtensionFactory {

    private static OpenIDExtensionFactory factory = new OpenIDExtensionFactory();

    /**
     * Make the class singleton
     */
    private OpenIDExtensionFactory() {
    }

    /**
     * Returns a singleton instance of OpenIDExtensionFactory
     * @return An instance of OpenIDExtensionFactory
     */
    public static OpenIDExtensionFactory getInstance() {
        return factory;
    }

    /**
     * Create an instance of the OpenIDExtension based on the OpenID extension
     * type
     * @param alias Extension alias
     * @param auth AuthRequest instance
     * @return Appropriate OpenIDExtension instance
     */
    public OpenIDExtension getExtension(OpenIDAuthenticationRequest request) {

        String alias = request.getExtensionAlias();

        if (alias.equals(AxMessage.OPENID_NS_AX)
                || alias
                        .equals(IdentityConstants.OpenId.ExchangeAttributes.NS_AX)) {
            return new OpenIDAttributeExchange(request);
        } else if (alias
                .equals(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG)
                || alias.equals(SRegMessage.OPENID_NS_SREG)
                || alias
                        .equals(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG_1)) {
            return new OpenIDSimpleReg(request);
        } else if (alias.equals(PapeMessage.OPENID_NS_PAPE)) {
            return new OpenIDPape(request);
        }

        return null;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -