- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有推荐的方法来撤销其他用户在 Identity Server 4 中的访问权限?我正在查看的用例是管理员撤销当前登录用户的系统访问权限。
我已阅读 Revocation Endpoint 的文档并且可以看到用户如何使用它来撤销他们自己的访问权限。但是,当管理员不知道特定用户的访问 token 是什么时,如何做到这一点?
End Session Endpoint 也是如此我想,管理员如何知道他们的 ID token ?
到目前为止我尝试过的是实现 IProfileService
并在 IsActiveAsync
中检查用户的帐户是否有效方法。在我们的客户数据库中,我可以停用他们的帐户,这具有将他们重定向到登录页面的预期效果。但是 token 和 session 仍然“活着”。这是结束 session 和撤销访问 token 的好地方吗?
还是将用户 token 持久化到数据库是一种选择?
更新
根据下面@Mashton 的回答,我在 Identity Server 文档 here 中找到了一个如何实现持久性的示例。 .
创建那里描述的数据迁移会将 token 持久化到 [dbo].[PersistedGrants]
在 Key
柱子。起初我很困惑,因为它们看起来不像我的引用访问 token ,但经过一番挖掘后,我发现它们存储为 SHA-256 哈希。看着DefaultGrantStore
在 Identity Server's GitHub 中实现Hashed Key 计算如下...
const string KeySeparator = ":";
protected string GetHashedKey(string value)
{
return (value + KeySeparator + _grantType).Sha256();
}
value
是 token 和
_grantType
是以下之一...
public static class PersistedGrantTypes
{
public const string AuthorizationCode = "authorization_code";
public const string ReferenceToken = "reference_token";
public const string RefreshToken = "refresh_token";
public const string UserConsent = "user_consent";
}
[dbo].[PersistedGrants]
表有
SubjectId
.
Client.IdentityTokenLifetime
只有 30 秒。
最佳答案
您只能撤销 Reference tokens
不是 JWTs
,是的,那些需要存储在数据库中。看看 IPersistedGrantStore
(在我的头顶,所以可能名字错了),你会看到结构非常简单。
一旦你把它们存储起来,你显然可以在管理方面做任何你喜欢的事情,比如更改到期时间或直接删除它们。
关于access-token - 有没有办法撤销其他用户的访问 token 并结束他们在 Identity Server 4 中的 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029802/
我目前正在使用 Oracle Database Express Edition 11g 处理一些 GRANT 选项。考虑以下小代码示例,其中一些用户向其他用户授予一些权限: -- User A GRA
我不明白这两个查询之间的区别, 1.修改用户用户名账户锁定;2.REVOKE CREATE SESSION FROM 用户名; 这些查询将如何影响用户? 如果我使用撤销 session ,那么可以进行
我正在尝试撤销以下 Google token API ("Content-type:application/x-www-form-urlencoded",请求类型 POST,https://accou
我不明白这两个查询之间的区别, 1.改变用户用户名账户锁;2.REVOKE CREATE SESSION FROM用户名; 这些查询将如何影响用户? 如果我使用 revoke session 那么可以
在服务器上使用 python 访问 firestore 管理员: import firebase_admin from firebase_admin import credentials, fires
MariaDB 中是否可以撤销用户的权限并同时撤销他授予的用户的权限?到目前为止我已经尝试过类似的事情 REVOKE SELECT ON mysql.sometable FROM 'user'@'%'
如果我使用普通用户帐户创建表: create table test (a text, b text, c text); 同一用户可以对表执行所有操作... john=# \z test
在 PostgreSQL 中,当 super 用户授予任何权限时(例如 GRANT SELECT ON TABLE table_name),只有 super 用户可以撤销它们。 有没有其他 super
我试过使用文档 here但似乎没有帮助。如果可以请给我一个例子。 revoke select (column1, column2) on table from specific_user 没用。 Ac
有没有一种方法可以撤销用户对目录对象(即 information_schema)和 PostgreSQL 表(即 pg_catalog)的权限?我已经尝试了几件事并搜索了网络。我没有任何运气。我读到的
在我的应用程序中,我使用的是 APNS。我已经制作了证书,但我对使用感到困惑。我收到以下错误。 Warning: stream_socket_client(): SSL operation faile
[我检查过类似的帖子,我的问题与其他人的问题略有不同,因为我们有多个应用程序在一个证书下签名] 我们受委托(delegate)为客户开发现有的 iOS 应用程序,现在需要使用他们的证书将其分发到应用程
我的 APNs 证书即将到期,所以我撤销了 APNs 证书(只是为了确保一切正常)。但是 30 分钟后我仍然收到测试推送通知。是因为苹果的缓存吗?会持续多久? 最佳答案 根据您的问题,您的旧证书尚未过
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关于您编写的代码问题的问题必须在问题本身中描述具体问题 — 并且包括有效代码 以重现它。参见 SSC
是否可以在 C# 中执行类似的操作? logger != null ? logger.Log(消息) : ;//如果为 null 则什么都不做 或 记录器!?? logger.Log(消息);//只有
我不小心执行了以下命令: git rm -r . 毫不奇怪,它删除了所有内容。有什么办法可以恢复吗? 最佳答案 尝试: git reset HEAD 如果您没有任何您关心的未提交的更改,那么 git
我们有一个已授予某些权限的应用程序。然后用户从设置 -> 应用程序 -> 权限撤销权限。我提到该应用此时处于后台。 有时,应用会在上述流程发生时崩溃。有什么办法可以解决这个问题吗?我们可以知道何时从应
如何使用 AnkhSvn/VS 2010 撤消/恢复我已提交的更改。 (我很清楚您不能“删除”subversion 存储库中的内容)。 问题很简单, 您正在处理 HEAD(例如 rev 100)。你发
我想知道是否可以撤销 ThinkTecture Identity Server 颁发的 OAuth 2.0 token ,因为我想让我的应用程序注销。 最佳答案 这仅适用于实现 RFC 7009 的
我有一个 grails 应用程序,我希望用户授予我访问他/她的 LinkedIn 帐户的权限,以获取信息并以不同的方式显示它。 我能够做到以下几点: 获取授权码 使用该授权码获取访问 token 我将
我是一名优秀的程序员,十分优秀!