Javascript 如何从Okta获得除姓名、姓氏和电子邮件以外的用户信息?
我想从Okta获得其他信息,因为使用Javascript 如何从Okta获得除姓名、姓氏和电子邮件以外的用户信息?,javascript,reactjs,express,crud,okta,Javascript,Reactjs,Express,Crud,Okta,我想从Okta获得其他信息,因为使用this.props.auth.getUser()我只会收到有关用户的电子邮件、姓名。但Okta上有很多数据,例如州、城市、街道地址、邮政编码等 我正在使用ReactJS和Node express创建一个web应用程序,登录由Okta()管理,然后我想将Okta关于用户的信息存储在数据库中 async checkAuthentication() { const authenticated = await this.props.auth.isAuthenti
this.props.auth.getUser()
我只会收到有关用户的电子邮件、姓名。但Okta上有很多数据,例如州、城市、街道地址、邮政编码等
我正在使用ReactJS和Node express创建一个web应用程序,登录由Okta()管理,然后我想将Okta关于用户的信息存储在数据库中
async checkAuthentication() {
const authenticated = await this.props.auth.isAuthenticated();
if (authenticated !== this.state.authenticated) {
const user = await this.props.auth.getUser();
console.log(this.props.auth);
this.setState({
authenticated,
user
});
this.getUsers();
}
}
async getUsers() {
let params = "";
let url = "";
if (this.state.user != null) {
params += "EMAIL=" + this.state.user.email;
}
url = params == null ? "/user" : "/user?";
url += params;
this.state.users = await this.fetch('get', url);
if (this.state.users && Object.keys(this.state.users).length == 0) {
this.saveUser();
}
}
async saveUser() {
var user = {
EMAIL: this.state.user.email,
NAME: this.state.user.given_name,
SURNAME: this.state.user.family_name,
//ORGANIZATION: "this.state.user.organization",
//PHONE = "this.state.user.primaryPhone",
//STATE = "this.state.user.state",
//STREET_ADDRESS = "this.state.user.streetAddress",
//ZIP_CODE = "this.state.user.zipCode",
};
await this.fetch('post', '/user', user);
}
这里我想保存Okta的其他数据
//ORGANIZATION: "this.state.user.organization",
//PHONE = "this.state.user.primaryPhone",
//STATE = "this.state.user.state",
//STREET_ADDRESS = "this.state.user.streetAddress",
//ZIP_CODE = "this.state.user.zipCode",
您需要指定您想要的范围。Okta具有以下默认作用域:脱机访问、电话、地址、电子邮件、配置文件、openid。在配置中,您可以使用这些文档auth。getUser()返回授权服务器上/userinfo endpoint下可用的详细信息,用户通过该文件获得身份验证和授权,如下所述 如果您还希望在此/端点上发布其他详细信息,请执行以下操作:
- 从Okta租户导航到管理员>>API>>授权服务器>>授权服务器
- 在“索赔”选项卡下,添加具有用户配置文件值的新索赔,并在“包含在令牌类型中”下,选择“ID令牌”和“Userinfo/ID\U令牌请求”
电子邮件:fabioxxxxx@xxxxxxx.com已验证的电子邮件:真实的家庭名称:“xxxxxx”给定名称:“Fabio”区域设置:“IT”名称:“Fabio xxxxx”首选用户名:fabioxxxxxx@xxxxxx.com“sub:“xxxxxxxxx”更新地址:1547719125区域信息:”“