Fujitsu KEAN Stack 開発

2017-03-24

Fujitsu KEAN Stack 開発

Machine-translated — the English original is authoritative.

KEAN – K5、Express、Angular(2)、NodeJS

私はkeanです(意図的にそう名乗っています)。FujitsuのK5 IaaS、またはOpenStack Keystone認証APIの使用方法を実演するために、今回は退屈なブログ記事ではなく、動画という新しいメディアを試しています。こちらの方が理解しやすいことを願っています。

開発フレームワークとしてAngular 2を選択しました。現在非常に人気のあるフレームワークです。動画の内容を追うためにAngularの知識は必要ありません。私はWebフロントエンド開発に初めて挑戦しましたが、それが簡単だとは言えないのは嘘になります。しかし、GoogleのAngularのようなフレームワークが登場したことで、以前よりもはるかに簡単になりました。+1(高評価)です。

このアプリケーションは、K5の資格情報を取得し、バックエンドのK5認証(ID)エンドポイントであるKeystoneに対してリクエストを送信します。資格情報が有効であれば、トークンを返します。

K5のエンドポイントはCross-Origin-Resource-Sharing(CORS)をサポートしていないため、このブログで詳述されている回避策を提供しています。

動画の後に、すべてのソースコードを掲載しています。

埋め込みコンテンツ

K5_Angular_2_Example_Login

更新 – 2017年3月23日 – Angular 2とK5のCORS課題を解決しました…軽量なCORS PROXYサーバーの使用により

解決策については、cors_proxy_service.jsを参照してください。

https://github.com/allthingsclowd/K5_Angular_2_Example_Login

このリポジトリは、FujitsuのK5プラットフォーム向けにAngular 2 SPA(シングルページアプリケーション)を構築する際に、CORS認証の課題を回避する方法を実演するために作成されました。

課題

主要な課題は、Fujitsu K5が現在CORSをサポートしておらず、以下のエラーが発生することです。

「XMLHttpRequest cannot load https://identity.uk-1.cloud.global.fujitsu.com/v3/auth/tokens. Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:3000‘ is therefore not allowed access. The response had HTTP status code 404.”

この詳細なCORSブログ – http://restlet.com/company/blog/2015/12/15/understanding-and-using-cors/
の提案を試みると、'preflight checks'を送信する際に以下のエラーが発生します。

解決策

CORSプロキシサーバーを使用して、ブラウザからのリクエストを受け取り、サーバーリクエストとして転送することで、CORS(ブラウザ)の問題を回避します。

インストール

2017年3月23日更新 – 単純なnodejsプロキシサービスを使用して解決しました – npm cors-anywhereモジュールを参照

2017年3月23日更新 – 上記のアプリケーションは、以下のプロキシサーバーを使用するように構成されています

http://localhost:3000にアクセスしてください

注意:

K5へのHTTPリクエストを行うために、authentication.service.tsファイルとlogin.component.htmlファイルのみをハックしました…完全なSPAにするにはまだ多くの作業が必要ですが、これにより初期の認証のハードルを乗り越えるのに十分はずです。…今後はあなたの想像力のみが制限となります。

raw表示
Angular2_OpenStack.md
hosted with ❤ by GitHub

ソースコードはここにあります – https://github.com/allthingsclowd/K5_Angular_2_Example_Login

Happy Stacking!(スタッキングを楽しみましょう!)

withk5youcan

Originally published on allthingscloud.eu (2017-03-24).

← All posts