0

全て。私の質問がトピックから外れていたり、ばかげた質問である場合は、ご容赦ください。Plunker に GitHub のような認証メカニズムを実装する方法を知りたいです。私のプロジェクトでは、このような同じ状況があると思います。Plunker のような Web サイトをいくつか持っています。また、GitHub などの他のすべての Web サイトに SSO センター認証 Web サイトまたはサービスを実装したいと考えています。プランカーのボタンをクリックSign in with GitHubしたとき。ウェブサイトは、URL で新しいウィンドウを開きます https://github.com/login?return_to=%2Flogin%2Foauth%2Fauthorize%3Fclient_id%3D7e377e5657c4d5c332db%26redirect_uri%3Dhttp%253A%252F%252Fplnkr.co%252Fauth%252Fgithub%26scope%3Dgist

GitHub へのログインに成功した場合。次に、Plunker は、先ほど GitHub で使用した認証済みユーザーでログインします。

私の問題は、GitHub と Plunker の間で認証がどのように機能するのかわかりません。誰か教えてください。評価されます。ありがとう。

4

2 に答える 2

1

Plunker の「GitHub でログイン」ボタンは、この種のオープン スタンダードであるOAuth2を使用します。これは、Googleや他の多くのプロバイダーでログインするために Google が使用している技術と同じです。

「OAuth でログイン」をサイトに追加するための GitHub のドキュメントは次のとおりです。

独自の OAuth プロバイダーを作成することは重要な作業であり、慎重に検討せずに取り組みたいとは思わないでしょう。この道をたどることを選択した場合は、選択した言語またはスタックに既存のライブラリを使用する可能性が高くなります。たとえば、このリストから何かを選択します。これは、OAuth クライアントの構築のみを計画している場合にも有効なアドバイスです。

于 2015-09-21T15:57:28.453 に答える
0

指摘したように、Plunkr のログイン プロセスは Github の OAuth2 を使用しているように見えますが、window.open およびpostMessageを使用してリダイレクト/リロードせずにクライアント上でそれを引き出すことができます。技術の詳細な説明はここにあります。デモ コードは比較的簡単に見えます。

Gatekeeperプロジェクトは、そのアイデアの (node.js を使用した) より洗練された実装のようであり、それを使用してクライアント側の認証を行うための詳細なチュートリアルがここにあります。

于 2016-07-27T16:46:28.473 に答える