Concept - Integration of Progressive Web App and Responsive Starter Store (valid from 7.10.32.16)

Table of Contents


Product Version

7.10

Product To Version

7.10.32.16
Status

1 Introduction

Info

This feature is available from ICM 7.10.16.6. but has been reworked in 7.10.32.16

Some parts of this document do not apply to ICM 7.10.38.1-LTS to ICM 7.10.38.5-LTS. For those versions have a look at Concept - Integration of Progressive Web App and inSPIRED Storefront (valid to 7.10.32.15).

The API token login feature enables customers to log in to both the Progressive Web App (PWA) or any other REST-based clients and the Responsive Starter Store. 

This feature can be useful if certain elements of the PWA (e.g., product listing), but also elements of the Responsive Starter Store (e.g., checkout) should be used together in a project. 

1.1 References

1.2 Glossary

TermDescription
ICMThe abbreviation for Intershop Commerce Management
PWAThe abbreviation for Progressive Web App

2 Activation

The API token login can be enabled generally or domain-specifically. Therefore consider the following settings:

  • General:
    In the appserver.properties, the following property must be configured:

    appserver.properties
    intershop.apitoken.cookie.enabled=true
  • Site-specific:
    The same property intershop.apitoken.cookie.enabled=true has to be set in the domain-specific configuration of the site.

3 Implementation

The PWA must have cookies enabled. If this is the case, a cookie is written when the ICM application server processes a request (page is not cached by the web adapter).

The cookie named apiToken contains a JSON object with the API token.

The attribute 'isAnonymous' indicates the authentication state:

  • 'true' for anonymous users
  • 'false' for authenticated users

When the ICM starts handling a request and the cookie is present, the ICM ensures that the user is logged in or an anonymous basket is retrieved.
For technical reasons, ICM overwrites the PWA cookie with its own cookie. The difference is that another JSON attribute is added, which is called creator='icm'.

If the user is logged into the ICM but no cookie is available when the ICM takes over, the user will be logged out.

Note

The feature is based on the assumption that the PWA and the ICM can read and write each other's cookies. That means that both cookies must have the same domain and the same path. Therefore, the feature only works if the PWA and the ICM are running in the same domain.

4 ICM Cookie Handling

When does the ICM write the cookie?

  • The feature is active and the ICM application server processes a request.

When does the ICM delete the cookie?

  • The feature is active and the token inside the cookie is invalid.

The detailed workflow is as follows:

5 Configuration

KeyValue
intershop.apitoken.cookie.enabled'true', if the feature should be active, otherwise anything else.
intershop.apitoken.cookie.nameIf the cookie should not be named 'apiToken', set an alternative name here.
intershop.apitoken.cookie.maxageThe maximum age of the cookie. Since our session is 60 minutes long, the default is 60.
intershop.apitoken.cookie.commentThe API allows to set a comment. That comment can be set here.
intershop.apitoken.cookie.sslmode'true', if the cookie should be SSL-only. The feature will not work if the ICM or the PWA still use HTTP.

6 Hint for Customization

6.1 Pipeline Calls / Log in and Out

The pipeline UserLogin is called. For the login, the start-node LoginUser is called. For the logout, the start-node Logout is called.
This pipeline does what is done for login and logout in the platform.  In f_business, the pipeline is overwritten to call the pipelines for ProcessUser .

If there are additional tasks in customer projects when a user is logged in, further overwriting may be necessary.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Tickets