openid-connect - 验证 OpenIdConnect 配置
问题描述
将客户端配置为使用 OpenIdConnect 时,您可以指定 clientId、clientSecret 和权限。
有没有一种简单的方法来验证这些配置是否正确?
对于权威,我可以简单地检查我是否从 discodoc (/.well-known/openid-configuration) 获得了 200 响应。
但是对于 clientId 和 clientSecret 推荐的方法来检查这些是否有效和正确,而不需要真正需要尝试的身份验证?
作为背景,我正在努力尽早发现 CI/CD 管道中的错误配置。如果我可以自动执行这些检查,诸如 clientId 不存在于授权中,或者 clientId 存在但 clientSecret 不正确等问题可以/应该很容易被捕获。
解决方案
我明白了,因为 OAuth 架构中有很多活动部分,这些是我使用过的技术:
支持的错误显示
在开发过程中,我故意错误配置设置并确保错误显示有助于在任何时间点实现快速解决。例如,请参阅此移动示例中的错误屏幕截图。
UI 测试框架
诸如 Selenium 之类的 UI 测试框架可能是一个不错的选择。作为生产系统的测试用户帐户运行夜间登录测试。如果 UI 登录有效,您就知道客户端 ID 和密码是正确的。
编码测试
UI 使用的代码流很难以自动化方式进行测试,而 UI 框架可能是最好的选择。如果你想使用代码,它需要像浏览器一样工作并遵循重定向、自动发布表单等。我很少使用它,因为代码变得有点不愉快,但这里有一个例子。
推荐阅读
- python - 获取与 GMT 时差的时区列表
- ios - 在离子上删除和添加平台后的问题
- html - 标签是什么
我目前正在尝试学习 HTML,但我对链接元素有疑问:
<link rel="author" href="URL">
. 这个元素有什么作用?我的书说:
在文档和作者(文档)之间建立关系。
但这究竟意味着什么?
我网站的访问者看
- python - 如何在给定约束后删除文本?
- laravel - 如果未加载关系,则阻止数据库查询
- javascript - 如何使 Nicescroll 仅适用于某些屏幕尺寸(770 像素及以上)
- python - python2.7中处理UnicodeEncodeError
- time-series - 为什么简单的指数平滑会为不同的观察结果返回相同的预测
- java - 从自定义列表视图中获取每个选中的项目
- arrays - 创建具有多个元素的 Bash 数组