身份#

从 JupyterLab v3.6 开始,用户身份建立在 Jupyter Server v2 中作为身份验证的一部分引入的 IdentityProvider 和端点 /api/me 之上。 /api/me 端点返回一个包含用户身份及其权限的字典。 请查看其 文档 以了解有关在 Jupyter Server 中实现的身份模型的更多信息。

用户身份 API 作为服务包的一部分包含在 JupyterLab 中,通过在 ServiceManager 中添加一个名为 UserManager 的新服务。 此新服务定期向 /api/me 端点请求用户身份,并将信息保存在内存中,直到下次请求。 尽管如此,始终可以通过调用 refreshUser 方法手动刷新信息。 一旦服务准备就绪,就可以通过属性 identity 访问用户的身份,或者通过订阅信号 userChanged 来监听更改。

示例

const extension: JupyterFrontEndPlugin<void> = {
  id: 'jupyterlab-extension',
  autoStart: true,
  activate: (app: JupyterFrontEnd) => {
     const user = app.serviceManager.user;
     user.ready.then(() => {
        console.debug("Identity:", user.identity);
        console.debug("Permissions:", user.permissions);
     });
  }
};