我使用Node.js来实现api,但答案可能是以语言无关的方式回答。
给定一个看起来像这样的授权流URL:
https://auth.example.com/oauth/authorize?client_id=client_id&redirect_uri=callback_url&response_type=response_type&state=nonce
我想通过api执行此流程。
/{third_party_oauth_privder}/token
(此api已构建
由我)护照等图书馆似乎是以会话状态执行此操作,但我不想在api中进行会话(即使仅针对这一个用例)。我可以通过在我的系统中将用户配置文件信息写在一起来利用nonce,并在回调中查找状态参数中的nonce来查找关联用户而不保持api中的任何状态...但这看起来很奇怪。
什么是符合oauth标准的方式来处理这种情况?我是否真的必须为此流程维护会话状态才能使其工作?如果是这样,这会如何扩大?我是否需要在Redis中存储该会话状态以确保回调api实例具有此会话状态?必须是一个相当优雅的解决方案,不需要状态:/或者可能不是。
非常感谢任何建议/示例/链接/等。