Чтобы идентифицировать пользователей моего мобильного приложения и связать их удостоверения с веб-приложением, я хочу использовать учетные записи Azure Active Directory и перехватить их OID.
На самом деле мое мобильное приложение использует учетные записи Kinvey,как показано в руководстве по nativescript.
логин пользователя:
login(user: User) {
return this.http.post(
Config.apiUrl + "user/" + Config.appKey + "/login",
JSON.stringify({
username: user.email,
password: user.password
}),
{ headers: this.getCommonHeaders() }
).pipe(
map(response => response.json()),
tap(data => {
Config.token = data._kmd.authtoken
}),
catchError(this.handleErrors)
);
}
регистрация пользователя:
register(user: User) {
if (!user.email || !user.password) {
return throwError("Please provide both an email address and password.");
}
return this.http.post(
Config.apiUrl + "user/" + Config.appKey,
JSON.stringify({
username: user.email,
email: user.email,
password: user.password
}),
{ headers: this.getCommonHeaders() }
).pipe(
catchError(this.handleErrors)
);
}
мои методы для заголовков и обработки ошибок:
getCommonHeaders() {
let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", Config.authHeader);
return headers;
}
handleErrors(error: Response) {
console.log(JSON.stringify(error.json()));
return Observable.throw(error);
}