12 ibm connections integration

12
Integration with IBM Connections Authentication, User Directory, Community Applications

Upload: darwinodb

Post on 15-Apr-2017

27 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 12   ibm connections integration

Integration with IBM Connections

Authentication, User Directory, Community Applications

Page 2: 12   ibm connections integration

IBM Connections Integration Points

• Provides easy access to IBM Connections APIs and services• IBM Connections as a User Service

– Provides user information and basic authentication• IBM Connections as an authentication provider

– Can use Basic authentication or OAuth 2.0• Creating IBM Connections Community Application

– Using the studio to deploy the application– Use the community ID as a tenant

• Make each community deal with its own, isolated data set

Page 3: 12   ibm connections integration

IBM Connections Endpoint

• An endpoint is provided by a bean of type ‘darwino/ibmconnections’• The bean provides some connections helpers

– Hides differences between on-premises and cloud deployment– Preconfigured HTTP client with the proper credentials– Encapsulated Profile & Communities access– Some utilities, like the ATOM XML namespaces

• Is the access point for the other Connections related services

Page 4: 12   ibm connections integration

Configure IBM Connections User Service

• An IBM Connections Endpoint should be available• A Connections UserDir bean should also be created

• Discussion database demo

<bean type="darwino/userdir“ name="base“ class="com.darwino.ibm.connections.IbmConnectionsUserDir“>

Page 5: 12   ibm connections integration

Configure IBM Connections User Data Provider

• An IBM Connections Endpoint should be available• A User Provider should also be provided

– The users handled by the provider can be filtered– An identity mapper should be provided if the ID is not the connections ID

<bean class='com.darwino.ibm.connections.IbmConnectionsUserProvider'> <property name='emailFilter'>*@triloggroup.com</property> <property name='identityMapper'> <bean class='com.triloggroup.darwino.user.TGLC45IdentityMapper'> </bean> </property></bean>

Page 6: 12   ibm connections integration

IBM Connections OAuth2 Authentication

• IBM Connections authentication is handled by the custom Darwino authentication servlet filter in web.xml– keepCredentials – gives access to the credentials when calling the services– sessionToken – Store the credentials in the HTTP session (default) or as a cookie

<filter> <filter-name>DarwinoAuthentication</filter-name> <filter-class>com.darwino.j2ee.servlet.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>modes</param-name> <param-value>com.darwino.ibm.connections.auth.IbmConnectionsOauth20Handler</param-value> </init-param> <init-param> <param-name>keepCredentials</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>sessionToken</param-name> <param-value>true</param-value> </init-param></filter>

Page 7: 12   ibm connections integration

IBM Connections Community Applications

• IBM Connections community applications are HTML widgets that execute in an iFrame

• The widgets are receiving initialization information with the community id, the current user, …

Page 9: 12   ibm connections integration

Use the Community ID as a Tenant

• Darwino URLs with a tenanthttp://myserver/myapp/[[tenant_id]]/whatever

• Ex: Darwino Demo/todolist– The widget main page redirects to the index.html page with the tenant– The runtime automatically grabs the tenant id and uses it as the current tenant

Page 10: 12   ibm connections integration

Resolving User Roles Based on the Community

• Darwino provides a custom role resolver thatcom.darwino.ibm.connections.usercontext.CommunityContext– Uses the tenant id as the community id– Assigns the role owner or member, if the user is an owner or member of the

community• Does the proper caching for performance

Page 11: 12   ibm connections integration

TODO List Demo

Page 12: 12   ibm connections integration

Thank you for your attention!