Je développe une application CRM pour mon entreprise. J'utilise la bibliothèque auth0 et essaye de m'authentifier à ADFS. Voici le code ci-dessous: Lorsque j'appuie sur le bouton Connexion, j'obtiens une erreur "ClientId manquant dans les paramètres". Je ne sais pas ce que je manque ici. toute aide est appréciée! J'ai mis mes informations d'identification lors de la création d'une nouvelle Auth0 et en l'enregistrant dans auth0.ClientId manquant dans l'erreur de paramètres
export default class Login extends Component {
constructor(props) {
super(props);
}
state = {
email: "",
password: "",
error: "",
loading: false,
loggedIn: null
};
onButtonPress() {
const { email, password } = this.state;
this.setState({
email: { email },
password: { password },
error: "",
loading: true,
loggedIn: false
});
var auth0 = new Auth0(credentials);
var webAuth = new auth0.WebAuth({
domain: "crm.auth0.com",
clientID: "6ZiWpn7DbTHVO2ktagE1h4"
});
// auth0
// .webAuth
// .authorize({scope: 'openid email', audience: 'https://issicrm.auth0.com/userinfo'})
// .then(credentials => console.log(credentials))
// .catch(error => console.log(error));
webAuth.client.login(
{
clientID: "6ZiWpn7DbTHVzjtO071y1h4",
realm: "crm",
username: { email },
password: { password },
scope: "openid profile",
audience: "https://crm.auth0.com/userinfo"
},
function(err, authResult) {
if (authResult) {
// Save the tokens from the authResult
// in local storage or a cookie
alert("logged in!!");
console.log(authResult);
localStorage.setItem("access_token", authResult.accessToken);
localStorage.setItem("id_token", authResult.idToken);
this.onAuthSuccess();
} else if (err) {
console.log(err);
this.onAuthFailed();
}
}
);
}
onAuthSuccess() {
this.setState({
email: "",
password: "",
error: "",
loading: false,
loggedIn: true
});
this.props.succesHandler();
navigate("SalesOrderList");
}
onAuthFailed() {
this.setState({
error: "Authentication Failed",
loading: false,
loggedIn: false
});
this.props.failureHandler();
}
render() {
const { navigate } = this.props.navigation;
const {
form,
fieldStyles,
loginButtonArea,
errorMessage,
welcome,
container
} = styles;
return (
<View style={styles.container}>
<Text style={styles.labelText}>Login to ISSI CRM</Text>
<MKTextField
text={this.state.email}
onTextChange={email => this.setState({ email })}
textInputStyle={fieldStyles}
placeholder={"Email..."}
tintColor={MKColor.Teal}
/>
<MKTextField
text={this.state.password}
onTextChange={password => this.setState({ password })}
textInputStyle={fieldStyles}
placeholder={"Password..."}
tintColor={MKColor.Teal}
password={true}
/>
<Text style={errorMessage}>
{this.state.error}
</Text>
<View style={loginButtonArea}>
<LoginButton onPress={this.onButtonPress.bind(this)} />
</View>
</View>
);
}
}
J'ai pris les caractères de mon ClientID pour préserver la vie privée et à la sécurité de mon entreprise. Si je commente la ligne, l'application envoie une erreur "auth0 non défini". –
Désolé. Je voulais dire supprimer les informations d'identification. –
J'ai changé mon code afin qu'il reflète la documentation de react-native-auth0 pour la connexion avec passwordRealm. Je reçois maintenant un message d'erreur non autorisé. J'espère que c'est parce que nous n'avons pas encore configuré notre serveur ADFS. –