我有一个项目需要实现 Oauth2(用户需要能够使用 Google 或 iCloud 登录),我决定使用 ORY Hydra,这样我就不必编写自己的 Oauth2 实现。
我尝试自己解决 ORY Hydra,但失败了。我知道 Oauth2 在抽象方面是如何工作的,但我不知道如何在实践中用它来实现 Oauth2。SDK 没有文档,无论它们适用于哪种语言。我知道 Hydra 有一个 HTTP API,所以语言 SDK 并不重要,但我希望在他们的文档中找到一些指导;正如我所写,他们没有。而主文档的“5分钟教程”只是提供了一些docker容器,背后没有任何代码或逻辑,只是一些docker-compose命令。
有什么好的教育资源可以展示如何使用 ORY Hydra 实施 Oauth2?此时,我已准备好使用任何语言,或者直接深入了解 Oauth2 标准。
我有一个static inline班级的成员 - an std::vector。我需要用数字填充它 - 0 到std::numeric_limits<uint16_t>::max() - 1。
我知道容器有列表初始化,但我不想提出一个将扩展到 1,2,3,一直到 65534 的宏/结构。
我想知道是否有一种方法可以用这样的数字序列干净地初始化容器,考虑到它是一个static inline变量。
容器必须是这样static,但如果有一种方法可以做我想做的事情,但要求它不这样inline,那就这样吧。
一种方法是编写一个函数来填充容器,然后使用#pragma startup myfuncor [[gnu::constructor]],但宏和属性都不在实际标准中。我不想拥有类似于init_mylibrary()用户glfwInit()在main()使用之前必须调用的功能mylibrary。
一种可能有效的方法是通过构造函数声明容器的大小,并提供一个自定义分配器,该分配器将使用连续的整数初始化内存,但为此任务编写整个分配器似乎有点矫枉过正。必须有一种方法可以干净地做到这一点,就像 Ruby 允许人们编写的那样Array.new(4) { |i| i + 10 } #=> [10, 11, 12, 13]