This documentation is for WSO2 IoT Server 3.2.0. View the documentation for the latest release.
Setting Up Federated IDP with OpenID Connect - IoT Server 3.2.0 - WSO2 Documentation
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This document is work in progress and is only visible to those at WSO2.

This document covers the steps on how WSO2 IoT Server works with WSO2 Identity Server's OpenID Connect authentication. You can follow the same steps to configure another Identity server other than WSO2 Identity server.

Let's get started! Folow the steps given below:


Installing OpenID Authenticator Feature in IoT Server


You need to install the org.wso2.carbon.identity.application.authenticator.oidc.server.feature in WSO2 IoT Server in order to add the OpenID Connect authenticator. Follow the steps given below to install the OpenID connect application authenticator server feature using the maven execution script.

  1. Create a file named openid-extension-deployer.xml in the <IOTS_HOME> directory.
  2. Copy the content given below to the openid-extension-deployer.xml file you created.
     Click here to expand and copy the content.
    <!--
     ~ Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
     ~
     ~ WSO2 Inc. 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.
     -->
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
       <parent>
          <groupId>org.wso2</groupId>
          <artifactId>wso2</artifactId>
          <version>1</version>
       </parent>
       <modelVersion>4.0.0</modelVersion>
       <groupId>org.wso2.iot.devicemgt-plugins</groupId>
       <artifactId>openid-extension-script</artifactId>
       <version>3.1.0</version>
       <packaging>pom</packaging>
       <name>OpenID Extension Script</name>
       <url>http://wso2.org</url>
       <build>
          <plugins>
             <plugin>
                <groupId>org.wso2.maven</groupId>
                <artifactId>carbon-p2-plugin</artifactId>
                <version>1.5.4</version>
                <executions>
                   <execution>
                      <id>2-p2-repo-generation</id>
                      <phase>package</phase>
                      <goals>
                         <goal>p2-repo-gen</goal>
                      </goals>
                      <configuration>
                         <metadataRepository>file:${basedir}/p2-repo</metadataRepository>
                         <artifactRepository>file:${basedir}/p2-repo</artifactRepository>
                         <publishArtifacts>true</publishArtifacts>
                         <publishArtifactRepository>true</publishArtifactRepository>
                         <featureArtifacts>
                            <featureArtifactDef>org.wso2.carbon.identity.outbound.auth.oidc:org.wso2.carbon.identity.application.authenticator.oidc.server.feature:${identity-application-auth-oidc.version}</featureArtifactDef>
                         </featureArtifacts>
                      </configuration>
                   </execution>
                   <execution>
                      <id>default-feature-install</id>
                      <phase>package</phase>
                      <goals>
                         <goal>p2-profile-gen</goal>
                      </goals>
                      <configuration>
                         <profile>default</profile>
                         <metadataRepository>file:${basedir}/p2-repo</metadataRepository>
                         <artifactRepository>file:${basedir}/p2-repo</artifactRepository>
                         <destination>${basedir}/wso2/components</destination>
                         <deleteOldProfileFiles>false</deleteOldProfileFiles>
                         <features>
                            <feature>
                               <id>org.wso2.carbon.identity.application.authenticator.oidc.server.feature.group</id>
                               <version>${identity-application-auth-oidc.version}</version>
                            </feature>
                         </features>
                      </configuration>
                   </execution>
                </executions>
             </plugin>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                   <execution>
                      <id>default-feature-install</id>
                      <phase>package</phase>
                      <configuration>
                         <target>
                            <replaceregexp file="./wso2/components/default/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info" match="(org.wso2.carbon.identity.application.authenticator.oidc.*)false" replace="\1true" byline="true" />
                         </target>
                      </configuration>
                      <goals>
                         <goal>run</goal>
                      </goals>
                   </execution>
                </executions>
             </plugin>
          </plugins>
       </build>
       <pluginRepositories>
          <pluginRepository>
             <id>wso2.releases</id>
             <name>WSO2 internal Repository</name>
             <url>http://maven.wso2.org/nexus/content/repositories/releases/</url>
             <releases>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
             </releases>
          </pluginRepository>
          <pluginRepository>
             <id>wso2.snapshots</id>
             <name>Apache Snapshot Repository</name>
             <url>http://maven.wso2.org/nexus/content/repositories/snapshots/</url>
             <snapshots>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
             </snapshots>
             <releases>
                <enabled>false</enabled>
             </releases>
          </pluginRepository>
          <pluginRepository>
             <id>wso2-nexus</id>
             <name>WSO2 internal Repository</name>
             <url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
             <releases>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
             </releases>
          </pluginRepository>
       </pluginRepositories>
       <repositories>
          <!-- Before adding ANYTHING in here, please start a discussion on the dev list.
                Ideally the Axis2 build should only use Maven central (which is available
                by default) and nothing else. We had troubles with other repositories in
                the past. Therefore configuring additional repositories here should be
                considered very carefully. -->
          <repository>
             <id>wso2-nexus</id>
             <name>WSO2 internal Repository</name>
             <url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
             <releases>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
             </releases>
          </repository>
          <repository>
             <id>wso2.releases</id>
             <name>WSO2 internal Repository</name>
             <url>http://maven.wso2.org/nexus/content/repositories/releases/</url>
             <releases>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
             </releases>
          </repository>
          <repository>
             <id>wso2.snapshots</id>
             <name>WSO2 Snapshot Repository</name>
             <url>http://maven.wso2.org/nexus/content/repositories/snapshots/</url>
             <snapshots>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
             </snapshots>
             <releases>
                <enabled>false</enabled>
             </releases>
          </repository>
       </repositories>
       <properties>
          <identity-application-auth-oidc.version>5.1.8</identity-application-auth-oidc.version>
       </properties>
    </project>
  3. Navigate to the <IOTS_HOME> via the terminal.
    cd <IOTS_HOME>
  4. Execute the mvn script to install the org.wso2.carbon.identity.application.authenticator.oidc.server.feature.

    mvn clean install -f openid-extension-deployer.xml


  • No labels