私はこのgithubプロジェクトhttps://github.com/openiddict/openiddict-coreを使用しています。しかし、私は手続きが何であるべきか、またはそれらを実装する方法について固執しています。ユーザーが外部IDプロバイダを使用する場合、この例ではgoogleを使用します。ローカルのopenIdトークン用google idTokenを交換するC#
私は、aspnet core webAPIを使用して、angular2アプリを実行しています。私のローカルログインはすべて正常に動作し、ユーザ名とパスワードでconnect/token
と呼ばれ、accessTokenが返されます。
今私は外部IDプロバイダとしてgoogleを実装する必要があります。私はすべてのステップhereを踏んで、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のページの次のステップであるhereは、私が行うことができるGoogleのaccessTokenを検証する必要があると言いますが、私はGoogleから持っているaccessTokenをどのように交換し、自分のアプリケーションで使用できるローカルのaccessTokenを作成しますか? Googleのページの次のステップは私が行うことができます、グーグルaccessTokenを検証する必要がありますが、どのように私はすることができた私はグーグルから持っていることをaccessTokenを交換し、地元accessTokenを作成しないと言っているここで見つける
IDトークンを取得するためにGoogleクライアントライブラリが必要なのかどうか疑問に思っています。https://github.com/openidd/openiddict-core/blob/dev/samples/Mvc.Server/のようなGoogle認証を使用することを検討しましたか? Startup.cs#L119? –
私はクライアント側のアプリケーションを持っているだけなので、私はクライアント上のlocalStorageにストアするので、私のアプリケーションのためにaccessTokenクライアント側が必要です。私はその方法を試してみましたが、もう一度、私はクライアント側のトークンのためにトークンを交換する方法を知らないのですか? – Gillardo