Django - JupyterHub - OAuth2 - Jupyter 笔记本交互

Django - JupyterHub - OAuth2 - Jupyter Notebook Interaction

我有一个相当复杂的要求。这是我希望实现的。

现在,到目前为止我已经设法做到了以下几点:

现在,我们的 API 可以有一个 .query() 方法,我可以像 API.query('the query') 那样调用它。然后会有很多其他方法来跟踪查询的进度等。现在,我正在考虑使用 'requests' 库将 POST 发送到 Django [=73= 中的端点] 接收查询并提交任务 queue。但由于此 Django 端点受登录保护,我需要此请求的 headers 填充 OAuth 访问令牌。

这是真正的问题 - 如何

我目前的研究工作

如果有完全不同的方法可以帮助满足这些要求,我也会接受。

只是想我会更新我能够通过以下方式解决问题:

  • 设计我的 Django 后端以生成具有适当所有权的令牌文件并将其存放在用户目录中。
  • 设计我的 Python "client package" 使用此令牌来验证自己。
  • 并添加了一个中间件来根据令牌识别上述客户端。

我目前正在努力将所有这些东西整合到一个 docker-compose 文件中。尝试解决 DockerSpawner 创建的 Jupyter 容器不幸无法访问外部世界的问题,因此无法访问基于 Django 的 Web 应用程序。

在此处引用相关的 Whosebug 问题:

向所有参与此项目和相关项目的优秀人士致敬。讨论、文件等对于弄清楚很多事情都很重要。