Message Boards

implement custom resolvers for Liferay Connector to SAML 2.0 Liferay 7.1

Sami Ullah, modified 2 Years ago.

implement custom resolvers for Liferay Connector to SAML 2.0 Liferay 7.1

New Member Posts: 14 Join Date: 9/28/15 Recent Posts

Hi,

I am having problem implementing custom user resolver in Liferay DXP 7.1 with FP 24. When I deploy the portlet I am getting unsatisfied service reference for UserResolver.

build.gradle

dependencies {
    compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "3.0.0"
    compileOnly group: "javax.portlet", name: "portlet-api", version: "3.0.0"
    compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
    compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.3.0"
     compileOnly group: "org.osgi", name: "osgi.core", version: "6.0.0"
   
    compileOnly files('./src/main/resources/libs/com.liferay.saml.opensaml.integration-2.0.40.jar')
    compileOnly files('./src/main/resources/libs/com.liferay.saml.persistence.api-2.1.12.jar')
       
    compile group: 'struts', name: 'struts', version: '1.2.9'
    compile group: 'joda-time', name: 'joda-time', version: '2.2'
    compile group: 'org.joda', name: 'joda-convert', version: '1.2'
    
    compileOnly group: 'org.opensaml', name: 'opensaml-messaging-api', version: '3.3.0'
    compileOnly group: 'org.opensaml', name: 'opensaml-saml-api', version: '3.3.0'
    
    compile group: 'com.liferay', name: 'com.liferay.osgi.service.tracker.collections', version: '3.1.0'
}

GOGO shell logs for ds:unsatisfied command.

g! ds:unsatisfied

Bundle {id: 1077, name: custom.saml.user.resolver, version: 1.0.0}
        Declarative Service {id: 4539, name: custom.saml.user.resolver.portlet.CustomUserResolver, unsatisfied references:
                {name: UserResolver, target: (component.name=com.liferay.saml.opensaml.integration.internal.resolver.DefaultUserResolver)}
        }

g! scr:list 1077
custom.saml.user.resolver.portlet.CustomUserResolver in bundle 1,077 (custom.saml.user.resolver:1.0.0) enabled, 1 instance.
    Id: 4539, State:UNSATISFIED REFERENCE

g! scr:info 4539
Component Description: custom.saml.user.resolver.portlet.CustomUserResolver
===========================================================================
Class:         custom.saml.user.resolver.portlet.CustomUserResolver
Bundle:        1077 (custom.saml.user.resolver:1.0.0)
Enabled:       true
Immediate:     true
Services:      [com.liferay.saml.opensaml.integration.resolver.UserResolver]
Scope:         singleton
Config PID(s): [custom.saml.user.resolver.portlet.CustomUserResolver], Policy: optional
Base Props:    (3 entries)
  MetadataManager.target<String> = (component.name=com.liferay.saml.opensaml.integration.internal.metadata.MetadataManagerImpl)
  UserResolver.target<String> = (component.name=com.liferay.saml.opensaml.integration.internal.resolver.DefaultUserResolver)
  service.ranking<Integer> = -2147483647

Component Configuration Id: 4539
--------------------------------
State:        UNSATISFIED REFERENCE
Config Props: (5 entries)
  MetadataManager.target<String> = (component.name=com.liferay.saml.opensaml.integration.internal.metadata.MetadataManagerImpl)
  UserResolver.target<String> = (component.name=com.liferay.saml.opensaml.integration.internal.resolver.DefaultUserResolver)
  component.id<Long> = 4539
  component.name<String> = custom.saml.user.resolver.portlet.CustomUserResolver
  service.ranking<Integer> = -2147483647
References:   (total 3)
  - UserResolver: com.liferay.saml.opensaml.integration.resolver.UserResolver UNSATISFIED 1..1 static
    target=(component.name=com.liferay.saml.opensaml.integration.internal.resolver.DefaultUserResolver) scope=bundle
  - MetadataManager: com.liferay.saml.opensaml.integration.metadata.MetadataManager SATISFIED 1..1 static
    target=(component.name=com.liferay.saml.opensaml.integration.internal.metadata.MetadataManagerImpl) scope=bundle (no active bindings)
  - UserLocalService: com.liferay.portal.kernel.service.UserLocalService SATISFIED 1..1 static
    target=(*) scope=bundle (no active bindings)

 

I am following tutorials from liferay official site, links are below.

https://help.liferay.com/hc/en-us/articles/360050057451-How-to-implement-custom-resolvers-for-Liferay-Connector-to-SAML-2-0#h_01EJXEH115JKJMW1BGCWA188XW

And

https://liferay.dev/en/b/customizing-the-liferay-connector-to-saml-2-0-app

Any help would be greatly appreciated.

Thanks,

Sami