首页 > 解决方案 > 使用 ClaimsTransformation 中的 FormatStringClaim 转换方法删除数字之间的“-”连字符

问题描述

在 AAD B2C 高级策略中,我想从 objectId 声明类型中删除连字符“-”并将其分配给另一个声明类型。

例如:

输入:e8023a66-30ed-4e31-a17e-c013081704a0 输出:e8023a6630ed4e31a17ec013081704a0

我在 ClaimsTransformation 中使用 FormatStringClaim 转换方法来实现相同的效果,但是使用连字符将值分配给目标声明类型。

你能帮我删除hypen吗?

标签: azure

解决方案


这应该这样做。

var id = Guid.Parse("e8023a66-30ed-4e31-a17e-c013081704a0");
Console.WriteLine(id.ToString("N"));

结果是

e8023a6630ed4e31a17ec013081704a0
  • N - 32 位
  • D - 由连字符分隔的 32 位数字
  • B - 32 位数字,用连字符隔开,用大括号括起来
  • P - 由连字符分隔的 32 位数字,括在括号中
  • X - 用大括号括起来的四个十六进制值,其中第四个值是也用大括号括起来的八个十六进制值的子集:

https://msdn.microsoft.com/en-us/library/97af8hh4(v=vs.110).aspx


推荐阅读