Hi,
in our project application we have a workflow included, which consists of different overviews and forms that are visible depending on the role. One of those forms should be accessible without login, like a “public form”. The continuing process and other parts of the application should only be visible for logged in users. How can I achieve that this model/part of the application is accessible without authentication? Anything I need to pay attention to?
UAA supports anonymous access.
Important: Enable this feature by adding ANONYMOUS to the property mgmtp.a12.uaa.authentication.types.
You must define the URLs required for the actions that an anonymous user should be able to execute. In your case, you need at least the load model, generate validation code, and an RPC endpoint to load models and create the document upon saving. In addition, you may need additional endpoints depending on other factors such as the model graph and attachments.
Important: Anonymous users are treated like any other user; therefore, it is critical to adjust all permissions so that anonymous access is restricted to only the necessary APIs.
Furthermore, you must reflect these changes in your authorization definition so that only valid users have access to restricted models and operations! In your case, you must adapt the permissions for the “Model Read” and “Document Create” scopes to allow anonymous users while preventing unauthorized access to other scopes. Therefore, you need to write your own policies or use the A12 role-based approach and provide a special anonymous role to the anonymous user (see anonymous access). In the policies, you then specify that anonymous users have access only to specific models and can create a document for a specific document model.
Hint: IDE support is described here.
After this, you only have to make the form accessible by the UI by creating the required menu entry and scene in the application model.