2017-10-26 3 views
1

私はChrome拡張機能を作成しています^ユーザーがGithubアカウント(ターゲット開発者)を介して認証できるようにしたいと考えています。すべての機能がブラウザ内で完全にオフラインで動作するため、認証用にバックエンドサーバーをセットアップする必要はありません。バックエンドサーバーなしでGithubアカウントからChrome拡張機能からユーザーを認証できますか?

私はいくつかの研究を行っています。 github does not support

  • は私の質問があり
  • いくつかの他のサービス(例えばAuth0)を使用し

    1. 暗黙の助成金、:あなた自身のバックエンドサーバーなしでのOAuthを実装するには、2つのオプションがあるようです。

      1. バックエンドサーバーを使用せずにGithubアカウントでユーザーを認証できますか?
      2. 認証フローはどのように見えるのですか?

      ^認証機能のないツールはhereです。

    答えて

    1

    私の研究に基づいて私自身の質問に答えるつもりです。私がこの答えに間違っているなら、私を訂正してください。

    バックエンドサーバーを使用せずにGithubアカウントでユーザーを認証できますか?

    短い答えははいです。しかし、あなたはそれをしたくないかもしれません。これは、the second stepclient_secretPOST経由でGithubに送り返す必要があるためです。通常、通常のWebページからsame origin policyのためにGithub.comにPOSTすることはできません。 Extensions aren't so limited。セキュリティ上の理由から、client_secretはJavaScriptに入れないでください。

    認証フローの外観はどうすればよいですか。

    1. ユーザーはGithub IDを要求するようにリダイレクトされます。
    2. ユーザーはGithubによってサイトにリダイレクトされます。
    3. お客様のアプリケーション(バックエンドまたはネイティブアプリの可能性は高いですが、フロントエンドのJavaScriptはありません)POSTclient_idclient_secretcodeです。
    4. Githubには、access_tokeが含まれています。
    5. あなたのアプリは、ユーザーのアクセストークンを使用してAPIにアクセスします。
    関連する問題