カスタムトークンH5アプリケーションノートで実装

我々はHybirdアプリケーションを記述する場合は、通常、クッキーはトークンを使用してユーザーセッションを達成交換します。

それはアプリ内に放出されている場合、アプリはWebViewの環境が付属しているので、バックエンドサーバーで実行時の関係は、サーバ2サーバに相当し、それは一般的にクロスドメインの問題に関与していません。

しかし、それは、端末にブラウザで直接実行されるため、H5のAppワードに放出された場合、CORS(クロスドメイン・リソースの共有)に関連する問題を処理します。

主に3つの面でCORSの解決策、について:

1は、単純な要求:ヘッダーが追加情報を必要としない、応答が頭に直接追加することができます。

response.setHeader(「アクセス制御-許可-起源」、「*」);             // ドメイン名要求できるように 
、response.setHeader(「アクセス制御-許可-メソッド」、「POST、GET」)     // 許可を要求モード 
response.setHeader( "アクセス制御-ヘッダ許可"、 "*");         //は、カスタムヘッダーができます 
response.setHeader( "アクセス・コントロール・マックス加齢"、 "3600");             // 信頼時間

 

図2に示すように、複雑な要求:要求または応答が処理される追加の情報ニーズが含まれている場合の前提条件は、右の応答を取得する場合に、ヘッダー、要求は、したがって、正式な要求を送信し、そしてだろう、事前-OPTIONSの実際の型は、前に要求するたび一度送信されます、サーバは、上記応答外部に加えて追加する必要があるだけでなく、前処理要求に:

文字列メソッド= のGetRequest()getMethod()メソッドは、toUpperCase()。。。
もし(方法== "OPTIONS" ){ 
    response.setStatus(HttpStatus.SC_NO_CONTENT)。
}

 

図3は、トークンを送信する:あなたはトークンヘッダーによってフロントに戻す必要がある場合は、応答を送信する前に、あなたはまた、行を追加するために、追加のライセンスを必要とする、最も重要なことです。

response.setHeader(「アクセス制御-露光-ヘッダ」、 『MyAppTokenName』)。
response.setHeader( "MyAppTokenName"、TokenUtil.getToken());

 

コードの赤のラインが非常に重要であり、それ以外の先端がバックトークンの文字列を応答を受信しません。

 

おすすめ

転載: www.cnblogs.com/netWild/p/12580368.html