diff --git a/_kratos/oidc-mappers/okta.jsonnet b/_kratos/oidc-mappers/okta.jsonnet new file mode 100644 index 0000000..a6b56e9 --- /dev/null +++ b/_kratos/oidc-mappers/okta.jsonnet @@ -0,0 +1,18 @@ +// Issuer Url: +// scopes: email, profile, openid + +local claims = std.extVar('claims'); + +local fName = if "name" in claims && claims.name!=null && std.length(std.findSubstr(" ", claims.name)) > 0 then std.splitLimit(claims.name, " ", 1)[0] else "Paralus"; +local lName = if "name" in claims && claims.name!=null && std.length(std.findSubstr(" ", claims.name)) > 0 then std.splitLimit(claims.name, " ", 1)[1] else "User"; + +{ + identity: { + traits: { + email: claims.email, + first_name: fName, + last_name: lName, + [if "team" in claims then "idp_group" else null]: claims.team, + }, + }, +}