Stormpathを使ったSpring Security
1概要
Stormpath
は、Spring BootおよびSpring Securityに対する強固なサポートを開発しました – それらのインフラストラクチャおよびサービスとの統合を非常に簡単にするためです。
この記事では、StormpathとSpring Securityとの最小限のセットアップおよび統合について説明します。
** 2ストームパスの設定
**
Stormpathを実際に統合する前に、Stormpathのクラウドでアクセストークンを作成する必要があります。そのためには、彼らのウェブサイトで
サインアップ
する必要があります。
-
開発目的のために開発者としてサインアップする必要があることを覚えておいてください – それは私達に私達にフリーモードを使用する毎月10000のAPI呼び出しを与えます。
もちろん、すでにアクティブなStormpathアカウントをお持ちの場合は、それを直接
login
として使用できます。
それでは、APIキーを作成する必要があります。
Developers Tools
内の
”
APIキーの管理”
リンクをクリックすると、 ”
APIキーの作成
”
というボタンが表示されます。
APIキーを生成するにはこのボタンをクリックする必要があります。クリックすると、APIキーの詳細を含むプロパティファイルをダウンロードするように促されます。内容は次のようになります。
apiKey.id = xxxxxxxxxxx
apiKey.secret = xxxxxxxxxxxx
このデータはサーバーから再度取得できないため、この詳細を非常に慎重に保存する必要があります。
** 3アプリケーションの構築
**
3.1. Mavenの依存関係
Stormpath APIを使用するには、彼らのJava SDKを使用する必要があります。そのためには、
pom.xml
に次の依存関係を統合する必要があります。
<dependency>
<groupId>com.stormpath.spring</groupId>
<artifactId>stormpath-default-spring-boot-starter</artifactId>
<version>1.5.4</version>
</dependency>
https://search.maven.org/classic/#search%7Cgav%7C1%7Cg%3A%22com.stormpath.spring%22%20ANDに
stormpath-default-spring-boot-starter
の最新バージョンがあります。 %20a%3A%22stormpath-default-spring-boot-starter%22[Central Mavenリポジトリ]。
** 3.2. Springのセキュリティ設定
**
Stormpathを使用する利点の1つは、Spring Securityを設定するために定型コードを追加する必要がないということです。次の数行のコードは、アプリケーションを完全に構成するために必要なすべてです。
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.apply(stormpath());
}
}
stormpath()
は静的メソッドであり、実際にはSpring Securityとの簡単な統合には十分です。
ここでさらに興味深いのは、ログインやサインアップなどを設計するために追加のHTMLページを作成する必要がないことです。ただし、必要に応じて、カスタムページを作成してStormpathの機能を統合することができます。
3.3.
Application.properties
この最低限のアプリケーションの構築はほぼ完了です。 APIキーの詳細を追加するだけで済み、先ほど
application.properties
ファイルで作成しました。
stormpath.client.apiKey.id =//your api id
stormpath.client.apiKey.secret =//your api secret
Stormpathガイドラインに従って、
application.properties
でそれらを使用するのではなく、常に機密データをJVM環境変数に入れることをお勧めします。
それらをJVMパラメータとして宣言できます。
-Dstormpath.client.apiKey.id=[api__id]-Dstormpath.client.apiKey.secret=[api__secret]----
これで、アプリケーションを起動して結果を確認する準備が整いました。次のURLをチェックして、Stormpathの機能をテストできます。
** ** /login ** - ログインページ
** ** /register ** - 登録ページ
** ** /忘れました** - パスワードを忘れたページ
==== ** 3.4. 別のオプション**
ログインページをチェックするための興味深いオプション、ログインボックスの__Forgot Password__リンクもあります。このリンクをクリックすると、登録用に作成したEメールアドレスを入力できる__/forgot__ページにリダイレクトされます。これにより、パスワードをリセットするためのリンクを含む自動電子メールが送信されます。
ただし、これを設定するには、Stormpath Admin Panelで次の設定を行う必要があります。
** ページ上部の__Directories__リンクをクリックしてください。すべて表示
このアカウントで作成されたディレクトリデフォルトでは、サインアップ後、Stormpathは自動的に__Stormpath Administrator__という名前のディレクトリを作成します。ただし、他のディレクトリを作成して使用することができます。
** 左側のパネルで__Workflowsをクリックしてください。
パスワードリセットオプション。デフォルトでは無効になっています。使用するには__Enabled__ボタンをクリックする必要があります。
** Link Link URLには、アプリケーションのURLと
このURLはパスワード再設定Eメールに添付されます。
=== ** 4結論**
この簡単な記事では、Spring SecurityとStormpathを簡単に統合する方法を学びました。
** https://api.stormpath.com/ui2/index.html#/accounts/[Stormpath Admin Console]** で設定できる電子メールの確認など、他にもたくさんの設定があります。それらを使用して、私達は安全なアプリケーションをかなり素早く構築することができます。
そして、いつものように、あなたは完全なソースコードhttps://github.com/eugenp/tutorials/tree/master/spring-security-stormpath[GitHub]で見つけることができます。