使用IdentityServer时,保存/访问Google的外部声明的最佳做法是什么?

罗伯·L

我的IdentityServer应用程序配置为使用Google登录。我正在使用OIDC。这个问题是关于外部索赔的。

在登录时,我的应用程序可以访问Google从auth请求发回的所有声明。我可以在我的UserServiceBase的自定义实现中通过AuthenticateExternalAsync方法(通过上下文)访问它们。我什至可以将它们添加到AuthenticateResult对象中,以便在用户接受同意后执行GetProfileDataAsync时,可以通过ProfileDataRequestContext.Subject.Claims列表访问它们。但这是他们记忆中的最后一点。

如果我没有将这些声明保存在数据库中,那么登录过程结束后如何访​​问它们?我想使id_token保持简单,以便不将声明(除了sub)放入令牌中。因此,我需要调用/ userinfo端点以获取声明,但是到了这一点,它们不再存在于内存中。

收回这些索赔的最干净的方法是什么?明确地说,我想在用户调用/ userinfo时从Google获得声明,并将其转换为我的应用程序的声明命名约定。(我不想在登录时将它们存储在id_token中……根据OIDC规范)

注意:这个问题与我的相似,但是没有解决如何使用IdentityServer3的问题。

布罗克·艾伦

是的,您将需要某种持久性机制来处理来自外部提供程序的声明。您应该已经有了这个,因为主题声称您从IdentityServer发行的内容对于您的令牌服务应该是唯一的(而不是google为您提供的唯一ID)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改活动时的最佳做法是什么?

来自分类Dev

在Django中保存机密文件的最佳做法是什么?

来自分类Dev

在 JHipster 中保存初始数据的最佳做法是什么?

来自分类Dev

使用动态前缀时,ipv6地址分配的最佳做法是什么?

来自分类Dev

编写li标签时的最佳做法是什么

来自分类Dev

Bootstrap的最佳做法是什么?

来自分类Dev

在可访问的菜单(使用html),选项卡或箭头键中移动焦点的当前最佳做法是什么?

来自分类Dev

在可访问的菜单(使用html),选项卡或箭头键中移动焦点的当前最佳做法是什么?

来自分类Dev

IE特定CSS的最佳做法是什么?

来自分类Dev

获得Looper的最佳做法是什么?

来自分类Dev

(在表格中搜索)最佳做法是什么?

来自分类Dev

MATLAB GUI-访问器方法或属性编辑?最佳做法是什么?

来自分类Dev

允许从类外部直接访问类成员变量的好做法是什么?

来自分类Dev

在表单字段中使用<br/>与<p> </ p>与CSS相比,目前在桌面,移动和可访问性方面公认的最佳做法是什么?

来自分类Dev

删除不必要的包含项时的最佳做法是什么?

来自分类Dev

实施MVP时,在Android中保留Presenters的最佳做法是什么?

来自分类Dev

当应用程序进入后台时,Firestore快照侦听器的最佳做法是什么?

来自分类Dev

创建具有静态生存期的匿名变量时,最佳做法是什么?

来自分类Dev

通过 UI 更改数据库时刷新前端 UI 的最佳做法是什么?

来自分类Dev

生成可订阅的 ICS 文件时处理旧事件的最佳做法是什么?

来自分类Dev

使用ocamlbuild构建库,使用ocamlfind安装库-最佳做法是什么?

来自分类Dev

直接在渲染或状态中使用 const 的最佳做法是什么?

来自分类Dev

使用Firebase保存Java枚举的最佳方法是什么

来自分类Dev

使用Python保存从Facebook收集的评论的最佳方法是什么?

来自分类Dev

数据访问最佳做法

来自分类Dev

使用HyperLink传递数据时的最佳做法?

来自分类Dev

Django中的复选框-最佳做法是什么?

来自分类Dev

设置图像尺寸的最佳做法是什么?CSS或属性?

来自分类Dev

Javascript:从函数返回值的最佳方法/做法是什么?

Related 相关文章

  1. 1

    更改活动时的最佳做法是什么?

  2. 2

    在Django中保存机密文件的最佳做法是什么?

  3. 3

    在 JHipster 中保存初始数据的最佳做法是什么?

  4. 4

    使用动态前缀时,ipv6地址分配的最佳做法是什么?

  5. 5

    编写li标签时的最佳做法是什么

  6. 6

    Bootstrap的最佳做法是什么?

  7. 7

    在可访问的菜单(使用html),选项卡或箭头键中移动焦点的当前最佳做法是什么?

  8. 8

    在可访问的菜单(使用html),选项卡或箭头键中移动焦点的当前最佳做法是什么?

  9. 9

    IE特定CSS的最佳做法是什么?

  10. 10

    获得Looper的最佳做法是什么?

  11. 11

    (在表格中搜索)最佳做法是什么?

  12. 12

    MATLAB GUI-访问器方法或属性编辑?最佳做法是什么?

  13. 13

    允许从类外部直接访问类成员变量的好做法是什么?

  14. 14

    在表单字段中使用<br/>与<p> </ p>与CSS相比,目前在桌面,移动和可访问性方面公认的最佳做法是什么?

  15. 15

    删除不必要的包含项时的最佳做法是什么?

  16. 16

    实施MVP时,在Android中保留Presenters的最佳做法是什么?

  17. 17

    当应用程序进入后台时,Firestore快照侦听器的最佳做法是什么?

  18. 18

    创建具有静态生存期的匿名变量时,最佳做法是什么?

  19. 19

    通过 UI 更改数据库时刷新前端 UI 的最佳做法是什么?

  20. 20

    生成可订阅的 ICS 文件时处理旧事件的最佳做法是什么?

  21. 21

    使用ocamlbuild构建库,使用ocamlfind安装库-最佳做法是什么?

  22. 22

    直接在渲染或状态中使用 const 的最佳做法是什么?

  23. 23

    使用Firebase保存Java枚举的最佳方法是什么

  24. 24

    使用Python保存从Facebook收集的评论的最佳方法是什么?

  25. 25

    数据访问最佳做法

  26. 26

    使用HyperLink传递数据时的最佳做法?

  27. 27

    Django中的复选框-最佳做法是什么?

  28. 28

    设置图像尺寸的最佳做法是什么?CSS或属性?

  29. 29

    Javascript:从函数返回值的最佳方法/做法是什么?

热门标签

归档