Замена Google idToken на локальный токен openId c #

Я использую этот проект GitHubhttps://github.com/openiddict/openiddict-core это здорово. Но я застрял в том, какие процедуры должны быть, или как их реализовать, когда пользователь использует внешний поставщик удостоверений, в этом примере я буду использовать Google.

У меня запущено приложение angular2 с ядром aspnet webAPI. Все мои локальные логины работают отлично, звонюconnect/token с именем пользователя и паролем, и accessToken возвращается.

Теперь мне нужно реализовать Google в качестве внешнего поставщика удостоверений. Я выполнил все шагиВот реализовать кнопку входа в Google. Это открывает всплывающее окно, когда пользователь входит в систему. Это код, который я создал для моей кнопки Google.

// Angular hook that allows for interaction with elements inserted by the
// rendering of a view.
ngAfterViewInit() {
    // check if the google client id is in the pages meta tags
    if (document.querySelector("meta[name='google-signin-client_id']")) {
        // Converts the Google login button stub to an actual button.
        gapi.signin2.render(
            'google-login-button',
            {
                "onSuccess": this.onGoogleLoginSuccess,
                "scope": "profile",
                "theme": "dark"
            });
    }
}

onGoogleLoginSuccess(loggedInUser) {
    let idToken = loggedInUser.getAuthResponse().id_token;

    // here i can pass the idToken up to my server and validate it
}

Теперь у меня есть idToken от Google. Следующий шаг на найденных страницах GoogleВот говорит, что мне нужно проверить google accessToken, что я могу сделать, но как мне обменять accessToken, который я имею от google, и создать локальный accessToken, который можно использовать в моем приложении?

Ответы на вопрос(1)

Ваш ответ на вопрос