【发布时间】:2018-07-03 09:00:12
【问题描述】:
我们正在使用 Azure b2c 来处理我们在 .net 核心 MVC 站点上的登录。
我们想使用可选的state 参数来保存对站点的初始请求(该值可能在查询字符串参数中)之间的一些数据/值,然后将其发送到 b2c 登录,并成功登录返回网站。
OpenIDConnect 允许在请求中设置此状态值,并将其与令牌响应一起传回。
看来设置值比较简单;在OnRedirectToIdentityProvider 事件中的OpenIdConnectOptions 中像这样:
public Task OnRedirectToIdentityProvider(RedirectContext context){
...
context.ProtocolMessage.SetParameter("state", "mystatevalue");
...
}
但是,当用户返回时,我看不到如何再次取回这个值。
我可以看到OnTicketReceived 事件被命中,它有一个TicketReceivedContext,其中有一个Form 属性和一个state 值,但是它仍然是加密的。
我可以从哪里取回未加密的值?
我查看了 b2c 的 Azure 文档,但找不到关于此的示例。
谢谢
【问题讨论】:
标签: asp.net-core-mvc openid-connect azure-ad-b2c