2017-09-25 14 views
0

クライアントサーバーベースのJava製品があります。Google OAuthをサインインしてgmail APIにアクセスできるサーバーダッシュボードに統合する必要があります。その後、サーバーはREFRESH TOKENとACCESS TOKENを使用して、Java Mail API経由でクライアントgmailを使用して一部の電子メールIDに電子メールレポートを送信します。 ログインを1回のみ実装し、メールを永久に送信する必要があります。つまり、オフラインアクセス(REFRESH TOKENは必須です)。 当社の製品は、クラウドベース(唯一の場合)と同様に、敷地内に配置されています。このように、クライアント環境では、プライベートIPまたはパブリックIPまたはパブリックIPをDNSにマッピングすることができます。Google OAuth 2.0アーキテクチャが必要Javaメール経由でSmtpメールを送信するための提案Api

私はこれを行うことが可能な2つのウェイがいることを知っている

1)サーバ側の認証

2)クライアント側の認証

がリダイレクトURIすなわちマッピングされたパブリックDNSを必要とする両方のケースではログイン後にgoogleがユーザーをリダイレクトするURLですが、私たちの場合、 は常にクライアントサーバーマシンにマップされていません。また、リダイレクトuriにもlocalhostを提供することはできません。

SO

問題I:REDIRECT_URI

PROBLEM IIの代わりに使用すべきか:私たちは、私たちはクライアントごとに一つのアプリケーションを使用する必要があり、多くのクライアントを持っているか、私たちは、クラウド上の単一のアプリケーションをデプロイする必要があり、サインイン中に各クライアントダッシュボードがリダイレクトされ、それに応じてトークンが取得されます。

上記の問題の他の選択肢は認められます。

答えて

0

私はアーキテクチャを得ました。 Googleアプリでは、複数のJavaスクリプトの原点を追加してuriをリダイレクトする柔軟性を提供しています。 したがって、デベロッパーコンソールには1つのアプリのみを作成する必要があります。各クライアントについて、許可されたJavaスクリプトの起点を追加し、uriをgoogleアプリでオンラインにリダイレクトします。また、クライアントのサーバーでサインインボタンが押されると、Googleのアプリに既に追加されているクライアントにリダイレクトするようになります。プライベートIPの場合は解決策はありませんが、localhostを使用してサーバーシステムのブラウザからサインインする制限が適用されます。

関連する問題