Замена 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, который можно использовать в моем приложении?