2016-08-04 9 views
0

春のクラウドでAPIゲートウェイとしてzuulを使用しています。今度はさらなる実装のためにzuulからアクセストークンを抽出したいと思います。実装方法を提案してください。ありがとうSpringクラウドAPIゲートウェイからAccessTokenを取得

+0

あなたは認証を行うことができます。あなたを始めようとするためのリンクのいくつかhttps://jmnarloch.wordpress.com/2015/10/21/spring-cloud-eureka-zuul-and-oauth2-scaling-out-認可サーバー/ http://presos.dsyer.com/decks/microservice-security.html#slide25 –

+0

こんにちは、グリニッシュ、返信ありがとうございます。私たちは認証を取得しましたが、私たちのアプリケーションではユーザー管理のためのアクセストークンが必要です。さらに実装するために、アクセストークンを抽出してredisセッションに格納したいと考えています。 suggetionsを提供してください。ありがとうございました。 –

+1

あなたの問題を正しく理解していれば、zuulで読んでそこから下流のサービスにアクセストークンを渡すことができる何らかの種類の認証ヘッダを持っている必要があります。それを読んでダウンストリームに送るには、事前フィルタを使用する必要があります。 –

答えて

1

ZUULでフィルタを作成する必要がある場合は、必要に応じて変更することができるプリフィルタが必要です。ここにあなたが必要とするものがあります。

public class TestFilter extends ZuulFilter { 

@Override 
public boolean shouldFilter() { 

    return true; 
} 

@Override 
public Object run() { 

    final RequestContext ctx = RequestContext.getCurrentContext(); 
    final HttpServletRequest request = ctx.getRequest(); 
//Here is the authorization header being read. 
    final String xAuth = request.getHeader("Authorization"); 
//Use the below method to add anything to the request header to read downstream. if needed. 
    ctx.addZuulRequestHeader("abc", "abc"); 

    return null; 
} 

@Override 
public String filterType() { 

    return "pre"; 
} 

@Override 
public int filterOrder() { 

    return 1; 
} 

} 

あなたは@EnableZuulProxy

@Bean 
public TestFilter testFilter() { 
    return new TestFilter(); 
} 

を持つクラスでフィルター用@Bean申告が必要になりますが、この情報がお役に立てば幸いです。!!!

関連する問題