<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Could Someone Provide Best Practices for Implementing Custom Authentication</title>
  <link rel="self" href="https://liferay.dev/de/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=122887155" />
  <subtitle>Could Someone Provide Best Practices for Implementing Custom Authentication</subtitle>
  <id>https://liferay.dev/de/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=122887155</id>
  <updated>2026-04-17T21:36:17Z</updated>
  <dc:date>2026-04-17T21:36:17Z</dc:date>
  <entry>
    <title>Could Someone Provide Best Practices for Implementing Custom Authentication</title>
    <link rel="alternate" href="https://liferay.dev/de/c/message_boards/find_message?p_l_id=119785294&amp;messageId=122887154" />
    <author>
      <name>Caroline Yesfir</name>
    </author>
    <id>https://liferay.dev/de/c/message_boards/find_message?p_l_id=119785294&amp;messageId=122887154</id>
    <updated>2024-08-30T13:34:07Z</updated>
    <published>2024-08-30T13:34:04Z</published>
    <summary type="html">&lt;p&gt;Hello everyone&lt;/p&gt;
&lt;p&gt;
  &lt;br&gt; I hope everybody is doing well. I'm currently working on a
  project that includes building a custom authentication method in
  Liferay 7.4; and I would like to get some guidance on best practices
  for ensuring a secure; efficient; and maintainable solution.&lt;/p&gt;
&lt;p&gt;
  &lt;br&gt; we are connecting liferay 7.4 with a legacy system that requires
  a specific verification approach. The purpose is to allow users to log
  in to liferay using their existing legacy system passwords.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;We must validate the credentials of users using the legacy system
    API rather than the regular liferay user databases.&lt;/li&gt;
  &lt;li&gt;&amp;nbsp;we would like to create SSO so that once users have been approved
    through the legacy system; they may use Liferay and other connected
    services without having to log in again.&lt;/li&gt;
  &lt;li&gt;We want to sync specific user data, such as roles and permissions;
    from the legacy system to liferay during the authentication process.&lt;/li&gt;
  &lt;li&gt;If the old system is inaccessible; we need an alternate strategy
    that relies on liferay default authentication.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We have considered the following ways but are unsure which would be
  the most effective or whether there a better choice.&lt;br&gt; We provided
  for utilising authentication hooks to override the authenticate
  method; but we are concerned about potential breaking changes in
  future liferay upgrades.&lt;br&gt; Another method is to create a special
  login portlet that handles the full authentication process; although
  we are not sure if this complicates the solution.&lt;br&gt; We have
  considered implementing liferay's OAuth2 module to assist SSO
  integration; however this would require extensive customization to
  operate with our legacy system.&lt;br&gt; Creating a rest API call to the
  legacy system during the login process appears simple; we are
  concerned about the performance effects; particularly under high traffic.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;What are the advantages and disadvantages of using authenticating
    hooks over custom login portlets in liferay 7.4?&lt;/li&gt;
  &lt;li&gt;Has anyone successfully completed a similar integration with a
    legacy system? If so; what challenges did you experience and how did
    you deal with them?&lt;/li&gt;
  &lt;li&gt;Are there any security concerns we should be aware of when
    creating a custom authentication method?&lt;/li&gt;
  &lt;li&gt;What is the ideal approach to handling user data synchronisation
    throughout the authentication process?&lt;/li&gt;
  &lt;li&gt;How can we design a dependable failover method that uses liferay
    authentication if the legacy system fails?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
  &lt;br&gt; I would like to hear about any relevant experiences; suggestions,
  or resources that can help us make an informed decision. We want to
  maintain the implementation as future-proof as possible; so any
  suggestions for avoiding typical issues would be very welcomed.&lt;/p&gt;
&lt;p&gt;
  &lt;br&gt; Also I explored some topics related to this &lt;a href="https://liferay.dev/ask/questions/liferay-learn-feedback/installing-and-updating-blade-cli-document-doesn-t-actually-install-blade"&gt;https://liferay.dev/ask/questions/liferay-learn-feedback/installing-and-updating-blade-&lt;/a&gt;&lt;a href="https://www.igmguru.com/cyber-security/ccsp-isc2-certification-training"&gt;ccsp&lt;/a&gt;&lt;a href="https://liferay.dev/ask/questions/liferay-learn-feedback/installing-and-updating-blade-cli-document-doesn-t-actually-install-blade"&gt;-document-doesn-t-actually-install-blade&lt;/a&gt;
  but I did not get the sufficient solution of my query so I would
  really want to get some help from a more experienced person&lt;/p&gt;
&lt;p&gt;
  &lt;br&gt; Thank you in advance for your suggestions&lt;/p&gt;</summary>
    <dc:creator>Caroline Yesfir</dc:creator>
    <dc:date>2024-08-30T13:34:04Z</dc:date>
  </entry>
</feed>
