【发布时间】:2018-01-19 16:56:48
【问题描述】:
我已经实现了 IPersistedGrantStore,并定义了一个将属性 RequireConsent 和 AllowRememberConsent 设置为 true 的客户端。我还从该客户端删除了脱机访问范围,因为我在某处读到,如果根据 OAuth 规范请求脱机访问范围,则始终强制同意。 当我第一次进入登录屏幕时,我看到了同意视图,单击允许并记住我的决定,我可以看到数据库表 PersistedGrants 中的记录被添加为 user_consent 类型。下次我尝试登录时,我的 IPersistedGrantStore 实现会从数据库中获取该记录,但仍会显示同意视图。如果我然后再次单击允许,DB 会抛出异常,因为 IS4 正在尝试使用相同的键插入另一个 PersistedGrant 记录。
我是否忽略了某些会使其按预期运行的设置? PS。我已经实现了所有主要存储,所有内容都保存在 SQL Server 数据库中,不使用任何 InMemory 存储。
【问题讨论】:
标签: asp.net-identity-2 identityserver4 asp.net-core-1.1