В итоге я создал собственный IdentityProviderMapper, похожий на тот, что был в Keycloak:
Затем я предоставил свою собственную логику для прохождения всех ролей из IDP, создавая их, если их не было и предоставление / отзыв их у пользователя на основе содержимого в утверждении SAML.
Можно сделать это использование Инструментального средства формирования запросов как так: (требует SubSonic 2.1),
var query = new Select()
.Top("1")
.From(TreeHtmlExports.Schema)
.Where(TreeHtmlExports.Columns.TreeId).IsEqualTo(treeId)
.OrderDesc(TreeHtmlExports.Columns.DateCreated);
treeHtmlExportCollection = query.ExecuteAsCollection<TreeHtmlExportsCollection>();
Надежда, которая помогает!