authenticate the User if he is in an Odata List

0
Hello Experts, I Have a SAP BTP pwa application Instead of using SSO I want to have a login page where the user adds his SAP Cloud username and password, the app should get all the users in a list and if the username and password exist in the Odata list he will get authenticated. Is this even possible? If yes can you provide some help on this?
asked
1 answers
0

Hi,

Yes, it is possible to implement a custom login page in your SAP BTP (Business Technology Platform) PWA (Progressive Web App) application where users can enter their SAP Cloud username and password for authentication.

 

1. Create an OData Service:
In your SAP environment, create an OData service that exposes a list of valid user credentials (e.g., username and password). This OData service should be accessible from your Mendix application.

2. Create Mendix Entities:
In your Mendix application, create entities to model the user credentials. You may create an entity called "ODataUser" with attributes like "Username" and "Password."

3. Import Data from OData Service:
Use the Mendix OData connector to import the data from the SAP OData service into your Mendix application. This will populate your "ODataUser" entity with the list of valid usernames and passwords.

4. Build the Login Page:
Create a login page in Mendix where users can enter their SAP Cloud username and password.

5. Validate User Credentials:
When a user submits the login form, use a microflow to check if the entered credentials match any records in the "ODataUser" entity. You can use a retrieve action with filters to find a match based on the entered username and password.

6. Authentication Logic:
If a match is found, you can consider the user as authenticated and grant them access to the application. If no match is found, display an error message indicating invalid credentials.

7. Session Management:
Implement session management to maintain user authentication status during their session, so they don't need to log in again repeatedly.

 

answered