Как использовать Azure Active Directory в качестве поставщика удостоверений для моего мобильного приложения? - PullRequest
0 голосов
/ 23 мая 2019

Чтобы идентифицировать пользователей моего мобильного приложения и связать их удостоверения с веб-приложением, я хочу использовать учетные записи 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);
}
...