/o//commerce-media/accounts/-1/images/18562804?download=true

OpenID Connect plugin
DXP App
Identity Management & Governance
18562750
Let users log in to Liferay with their social network account or any OpenID Connect compatible SSO system.

Most social networks support OpenID Connect to authenticate for third party applications.
This plugin enables Liferay to integrate with the OpenID Connect provider you choose, be it Google or Facebook or your own SSO provider (like OpenAM, Gluu, Ping Identity, etc.)

Liferay supports OAuth 1.0 out of the box, but that OAuth-version is deprecated. OpenID Connect is based on OAuth 2.0. Use OpenID Connect, the proper modern SSO standard.

Key features:
* Creates users if they do not exist upon successful authentication, update existing users
* Use name information from the OpenID Connect provider to create Liferay users
* Can be combined with post login hooks to perform additional custom logic (adding users to groups etc)
* Single Log Out: logging out from Liferay can be linked to logout from OP

Installation
* Install from the marketplace
* Configure using the portal properties from the documentation site https://github.com/finalist/liferay-oidc-plugin
DEVELOPER
Er trad een fout op tijdens de verwerking van de sjabloon.
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> publisePages  [in template "3192443#3192485#null" at line 36, column 38]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign publisePage = publisePages.items  [in template "3192443#3192485#null" at line 36, column 17]
----
1<#if themeDisplay?has_content> 
2	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
3</#if> 
4 
5<#if currentURL?has_content> 
6	<#if currentURL?contains('web')> 
7		<#assign 
8			index = 2 
9			partsUrl = currentURL?split('/') 
10			siteName = partsUrl[index..index]?join('/') 
11		/> 
12	</#if> 
13</#if> 
14 
15<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
16 
17<#if channel?has_content> 
18	<#assign channelId = channel.items[0].id /> 
19</#if> 
20 
21<#if (CPDefinition_cProductId.getData())??> 
22	<#assign productId = CPDefinition_cProductId.getData() /> 
23</#if> 
24 
25<#assign 
26	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications") 
27	productSpecifications = product.productSpecifications![] 
28	catalogName=product.catalogName 
29/> 
30 
31<#if catalogName?has_content> 
32	<#assign publisePages=restClient.get("/c/publisherdetailses?filter=publisherName eq '${catalogName}'" ) /> 
33	<#assign redirectPath="https://marketplace.liferay.com/e/publisher-details/29282497"/> 
34	 
35	<#if publisePages?has_content> 
36		<#assign publisePage=publisePages.items /> 
37			<#if publisePage?has_content> 
38						<#assign publisherDetail=publisePage[0]/> 
39			</#if> 
40	</#if> 
41</#if> 
42 
43<div> 
44	<#if productSpecifications?has_content> 
45		<#assign developerNames = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "developer-name")) /> 
46 
47		<#if developerNames?has_content> 
48			<#list developerNames as developerName> 
49				<#if publisherDetail?has_content> 
50					<a class="bg-neutral-8" href="${redirectPath}/${publisherDetail.id}"> 
51						${developerName.value} 
52					</a> 
53				<#else> 
54					<a class="bg-neutral-8" 	href="/?developer-name=${developerName.value}"> 
55						${developerName.value} 
56					</a> 
57				</#if> 
58			</#list> 
59		</#if> 
60	</#if> 
61</div> 
DEVELOPER
21-11-24 18:18
Published date
21-11-24 18:18
Published Date
21-11-24 18:18
SUPPORTED OFFERINGS
Liferay PaaS
Supported Versions
6.2, 7.0
Resource Requirements
Edition
CE
PRICE
Free
help & support
SHARE LINK
Copy & Share

HTML Example

A paragraph is a self-contained unit of a discourse in writing dealing with a particular point or idea. Paragraphs are usually an expected part of formal writing, used to organize longer prose.