これは "あまりにもオープン"な質問ではないが、私は本当にそれをどう対処するか分からないと思う。JSPとOAUTH2の認証
Java JSPで書かれた作業用Webアプリケーションと、Tomcat 7とMySQL DBで動作するJerseyとのいくつかのRestインタフェース。これは非常にシンプルなフォームベースのアプリケーションです。現在私はそれをAWS上で実行しています。私は認証層を組み込みたいと私はOpenIDを/のOAuth2サーバを使用して考えています
@Path("/operation")
public class IntrfcOperation {
String response="";
int retcode=0;
String id;
String name;
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response baserest(
@Context HttpServletRequest hsreq,
@Context HttpServletResponse hsresp)
{
response ="";
...
String outjson = "{\"retcode\":\"" + retcode + "\",\"name\":\"" + name + "\",\"msg\":\"" + response + "\"}";
return Response.status(200).entity(outjson).build();
}
:
<%
String inmsg = request.getParameter("msg");
%>
<html>
<head>
...
そして、このようなレストクラス:
JSPはこのようなものです、おそらくAWSのものです(IAM?)。私が見ている問題は、このプロトコル(私が試した限り)は、Identity Managerに送信されるすべての要求のリターンポイントである単一の/固有のリダイレクトURLが必要であるということです。私の問題は、単一のURLではなく、複数のJSP/Rest Entry Pointごとに1つのURLがあることです。
これを変換する正しい方法は何でしょうか?私が見る唯一の方法は、アプリケーション全体を単一のJSPスクリプトに書き直して、すべてのアクションとページがすべて単一のエントリポイントのパラメータとして識別されるようにすることです。別の簡単な方法がありますか?
私はRFCと多くのチュートリアルを読んだことがありますが、私はいつも同じ問題を抱えています。(正確に説明されていないかもしれません):中央のダッシュボードはありませんが、メニューによってナビゲート可能な多くのJSPがあります。これは、複数のURL(http://url/path/page1.jsp、http://url/path/page2.jsp ... http://url/path/pageX.jsp)を意味します。それぞれにはいくつかの認証機能が必要です(トークン - >ログインページにリダイレクトして戻ってくる必要はありません)。 OpenId/Oauth2が定義されているので、私は各URLに対して別のAPPを定義するか、それらをパラメータとしてナビゲートする必要があります(navigator.jsp?page1、navigator.jsp?page2、... navigator.jsp?pageX) – jordi
'state'パラメータに関する情報を含みます。 –