2017-07-17 1 views
1

Confluenceプラグインでユーザー名とパスワードを取得することは可能ですか? Usernamは次のように私の作品:Atlassian Pluginの現在のユーザーからの資格情報を取得

ApplicationUser user = userUtil.getUserByName(userManager.getRemoteUsername(request)); 

私は、現在のユーザーとのJira休憩APIに接続したいです。

+0

パスワードを取得しますか?それは巨大なセキュリティ上の欠陥になります。私はこれがうまくいかないと思う。 –

答えて

0

@Philipp Sanderが既にコメントしたように、ユーザーのパスワードを取得することはできません。 Confluenceはパスワードを暗号化された方法で保存するだけなので、ユーザーパスワードも知らない。

しかし、あなたはConfluenceプラグインについて話しているので、アプリケーションリンクを使用して他のAtlassianアプリケーションのREST APIと話す別の方法があります。あなたは彼らのConfluenceでJIRAへのアプリケーションのリンクを設定するには、ユーザーが必要な場合は、プラグインがApplicationLinkServiceのgetApplicationLinksメソッドを使用して、そのApplicationLinkインスタンスを取得することができます

java.lang.Iterable<ApplicationLink> getApplicationLinks(java.lang.Class<? extends ApplicationType> type) 

    Retrieves all ApplicationLinks of a particular ApplicationType. 

次は、createAuthenticatedRequestFactoryメソッドを呼び出すことができますあなたのApplicationLinkインスタンス上で、例えば:

ApplicationLinkRequestFactory createAuthenticatedRequestFactory() 

    The ApplicationLinkRequestFactory returned by this method will choose a single AuthenticationProvider for automatically authenticating created Request objects. 

そしてRequestFactoryあなたが標的にしているアプリケーション、すなわちにREST要求を送信することが可能となります。 JIRA。

さらに詳しい情報については、RequestFactoryの使用方法の例があるSAL APIのドキュメントを参照することもできます。

Atlassianコミュニティにはthis useful related questionもあり、JAXBを使用してRequestFactoryでオブジェクトをマーシャリングする方法について説明しています。

関連する問題