Broadleaf Microservices
  • v1.0.0-latest-prod

Release Notes for 1.7.2-GA

New Features & Notable Changes

Feature/Notable Change

Added forced password change after period of time, and not re-use last N passwords on password reset. See the configuration page for available options.

Added caching when reading applications by id.

Added caching when reading authorized clients by id.

Added property controls over content security policy directives. See the configuration page for available options.

Bug Fixes

Issue

Fixed an issue where authorized clients were unable to have their passwords cached.

Fixed a visual bug where the password requirement validation logic on the password form was reversed.

Fixed embedded login bug where a refresh token would be returned regardless of whether the OFFLINE_ACCESS scope was present.

Fixed embedded login bug where all of a user’s authorities were being returned, instead of only the requested ones.

Fixed bug in the script to migrate encrypted fields.

Fixed new user registration bug when using an alternate identity provider

New Permissions and Scopes

New permissions and scopes have been added and should be inserted into the auth database with the following SQL:

Required payment related permission updates:

-- Saved Payment Management
INSERT INTO blc_security_scope (id, "name", "open") VALUES('-87', 'CUSTOMER_SAVED_PAYMENT_MANAGEMENT', 'N');
INSERT INTO blc_permission_scope (id, "permission", is_permission_root, scope_id) VALUES('-400', 'CUSTOMER_SAVED_PAYMENT_MANAGEMENT', 'Y', '-100');

INSERT INTO blc_user_permission (id, archived, last_updated, "name") VALUES('-246', 'N', '1970-01-01 00:00:00.000', 'ALL_CUSTOMER_SAVED_PAYMENT_MANAGEMENT');
INSERT INTO blc_user_permission (id, archived, last_updated, "name") VALUES('-247', 'N', '1970-01-01 00:00:00.000', 'READ_CUSTOMER_SAVED_PAYMENT_MANAGEMENT');

INSERT INTO blc_client_permissions (id, "permission") VALUES('paymenttransactionclient', 'CREATE_SENSITIVE_CUSTOMER_PAYMENT_ACCOUNT');
INSERT INTO blc_client_permissions (id, "permission") VALUES('paymenttransactionclient', 'UPDATE_SENSITIVE_CUSTOMER_PAYMENT_ACCOUNT');

-- Payment Lock Management
INSERT INTO blc_security_scope (id, "name", "open") VALUES('-86', 'PAYMENT_LOCK_MANAGEMENT', 'N');
INSERT INTO blc_permission_scope (id, "permission", is_permission_root, scope_id) VALUES('-132', 'PAYMENT_LOCK_MANAGEMENT', 'Y', '-86');

INSERT INTO blc_user_permission (id, archived, last_updated, "name") VALUES('-245', 'N', '1970-01-01 00:00:00.000', 'ALL_PAYMENT_LOCK_MANAGEMENT');

INSERT INTO blc_client_scopes (id, "scope") VALUES('cartopsclient', 'PAYMENT_LOCK_MANAGEMENT');
INSERT INTO blc_client_scopes (id, "scope") VALUES('orderopsclient', 'PAYMENT_LOCK_MANAGEMENT');

INSERT INTO blc_client_permissions (id, "permission") VALUES('cartopsclient', 'ALL_PAYMENT_LOCK_MANAGEMENT');
INSERT INTO blc_client_permissions (id, "permission") VALUES('orderopsclient', 'ALL_PAYMENT_LOCK_MANAGEMENT');


-- DEFAULT ROLE UPDATES

-- REQUIRED. Customer user role changes
-- ALL_CUSTOMER_SAVED_PAYMENT_MANAGEMENT permission
INSERT INTO blc_role_permission_xref (role_id, permission_id) VALUES ('-100', '-246');

-- CLAIM_TRANSACTIONS_FOR_REQUEST, SEND_ROLLBACK_EVENT, SEND_CHECKOUT_COMPLETION_EVENT
INSERT INTO blc_security_scope (id, "name", "open") VALUES('-212', 'CLAIM_TRANSACTIONS_FOR_REQUEST', 'N');
INSERT INTO blc_security_scope (id, "name", "open") VALUES('-213', 'SEND_ROLLBACK_EVENT', 'N');
INSERT INTO blc_security_scope (id, "name", "open") VALUES('-214', 'SEND_CHECKOUT_COMPLETION_EVENT', 'N');

INSERT INTO blc_permission_scope(id, permission, is_permission_root, scope_id) VALUES('-212', 'CLAIM_TRANSACTIONS_FOR_REQUEST', 'Y', '-212');
INSERT INTO blc_permission_scope(id, permission, is_permission_root, scope_id) VALUES('-213', 'SEND_ROLLBACK_EVENT', 'Y', '-213');
INSERT INTO blc_permission_scope(id, permission, is_permission_root, scope_id) VALUES('-214', 'SEND_CHECKOUT_COMPLETION_EVENT', 'Y', '-214');

INSERT INTO blc_client_scopes(id, "scope") VALUES('cartopsclient', 'CLAIM_TRANSACTIONS_FOR_REQUEST');
INSERT INTO blc_client_scopes(id, "scope") VALUES('cartopsclient', 'SEND_ROLLBACK_EVENT');
INSERT INTO blc_client_scopes(id, "scope") VALUES('cartopsclient', 'SEND_CHECKOUT_COMPLETION_EVENT');

INSERT INTO blc_client_permissions(id, permission) VALUES('cartopsclient', 'UPDATE_CLAIM_TRANSACTIONS_FOR_REQUEST');
INSERT INTO blc_client_permissions(id, permission) VALUES('cartopsclient', 'UPDATE_SEND_ROLLBACK_EVENT');
INSERT INTO blc_client_permissions(id, permission) VALUES('cartopsclient', 'UPDATE_SEND_CHECKOUT_COMPLETION_EVENT');

-- 3DS_TRANSACTION_RESULT
INSERT INTO blc_security_scope (id, "name", "open") VALUES('-300', '3DS_TRANSACTION_RESULT', 'N');

INSERT INTO blc_permission_scope(id, permission, is_permission_root, scope_id) VALUES('-300', '3DS_TRANSACTION_RESULT', 'Y', '-300');
INSERT INTO blc_permission_scope(id, permission, is_permission_root, scope_id) VALUES('-600', '3DS_TRANSACTION_RESULT', 'Y', '-100');

INSERT INTO blc_user_permission(id, archived, last_updated, "name") VALUES('-600', 'N', '1970-01-01 00:00:00.000', 'ALL_3DS_TRANSACTION_RESULT');

INSERT INTO blc_client_scopes(id, "scope") VALUES('anonymous', '3DS_TRANSACTION_RESULT');
INSERT INTO blc_client_scopes(id, "scope") VALUES('cartopsclient', '3DS_TRANSACTION_RESULT');

INSERT INTO blc_client_permissions(id, permission) VALUES('anonymous', 'ALL_3DS_TRANSACTION_RESULT');
INSERT INTO blc_client_permissions(id, permission) VALUES('cartopsclient', 'ALL_3DS_TRANSACTION_RESULT');

INSERT INTO blc_role_permission_xref (role_id, permission_id) VALUES ('-100', '-600');

If you’re consuming the openapi client for use with OpenAPI, the following permission updates are necessary:

INSERT INTO blc_client_scopes (id, "scope") VALUES('openapi', 'CUSTOMER_SAVED_PAYMENT_MANAGEMENT');
INSERT INTO blc_client_scopes (id, "scope") VALUES('openapi', 'PAYMENT_LOCK_MANAGEMENT');
INSERT INTO blc_client_scopes(id, "scope") VALUES('openapi', 'CLAIM_TRANSACTIONS_FOR_REQUEST');
INSERT INTO blc_client_scopes(id, "scope") VALUES('openapi', 'SEND_ROLLBACK_EVENT');
INSERT INTO blc_client_scopes(id, "scope") VALUES('openapi', 'SEND_CHECKOUT_COMPLETION_EVENT');
INSERT INTO blc_client_scopes(id, "scope") VALUES('openapi', '3DS_TRANSACTION_RESULT');

INSERT INTO blc_client_permissions (id, "permission") VALUES('openapi', 'ALL_CUSTOMER_SAVED_PAYMENT_MANAGEMENT');
INSERT INTO blc_client_permissions (id, "permission") VALUES('openapi', 'ALL_PAYMENT_LOCK_MANAGEMENT');
INSERT INTO blc_client_permissions(id, permission) VALUES('openapi', 'UPDATE_CLAIM_TRANSACTIONS_FOR_REQUEST');
INSERT INTO blc_client_permissions(id, permission) VALUES('openapi', 'UPDATE_SEND_ROLLBACK_EVENT');
INSERT INTO blc_client_permissions(id, permission) VALUES('openapi', 'UPDATE_SEND_CHECKOUT_COMPLETION_EVENT');
INSERT INTO blc_client_permissions(id, permission) VALUES('openapi', 'ALL_3DS_TRANSACTION_RESULT');