身份#
从 JupyterLab v3.6 开始,用户身份构建在 IdentityProvider
和作为身份验证一部分在 Jupyter Server v2 中引入的 /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);
});
}
};