「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>FrontPage]] --[[部会メモ(2020年)>#qba10194]] --[[部会メモ(2021年)]] --[[部会メモ(2022年)]] --[[部会メモ(2023年)]] *目次 [#l898b156] #contents *概要 [#m1142774] -部会開催メモ --計画 --実施内容 --コンテンツ -当ページの探し方~ 「[[Open棟梁 Wiki 部会メモ>https://www.google.com/search?q=Open%E6%A3%9F%E6%A2%81+Wiki+%E9%83%A8%E4%BC%9A%E3%83%A1%E3%83%A2]]」で検索すると出てきます。 *詳細(2020年 [#qba10194] **5/21 オンライン部会(第0回) [#je679acb] 「Open棟梁」のビルドを通すデモと雑談 ***準備 [#ba542c26] -Zoomのスケジュール~ (まだ、一般募集は無し) -環境の準備~ --[[構成概要>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97]] --[[構成動画(おまけ動画)>#l7293a27]] --Visual Studio は、Code と 2019のみインストール。 -デモ内容の事前実施 --[[Download .NET SDKs for Visual Studio>https://dotnet.microsoft.com/download/visual-studio-sdks]]のインストール ---[[.NET 4.7 Developer Pack>https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net47-developer-pack-offline-installer]] ---[[.NET 4.8 Developer Pack>https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-developer-pack-offline-installer]] ***デモ [#qf0398a0] -プログラムの取得 --本体のGitクローン~ https://github.com/OpenTouryoProject/OpenTouryo --テンプレートのダウンロードZIP~ https://github.com/OpenTouryoProject/OpenTouryoTemplates >すいません、今回、利用のバージョンは02-60なので、正確には、~ テンプレートは、以下のURLからダウンロードZIPして下さい。~ https://github.com/OpenTouryoProject/OpenTouryoTemplates/tree/02-60~ -Docker系~ https://github.com/daisukenishino2/EvaluateAspNetCoreOnDocker --開発環境~ https://github.com/daisukenishino2/EvaluateAspNetCoreOnDocker/tree/master/LocalServices --Docker化されたMVCの実行~ https://github.com/daisukenishino2/EvaluateAspNetCoreOnDocker/tree/master/MVC_Sample -修正・変更 --ビルドツールへのパスの調整 --SQL Serverの接続文字列の一括置換 --PowerShellで以下のコマンドを使用し、 ---ファイルのブロックを解除する。 >cd C:\root\programs\ >ls . -r | unblock-file ---コンテナの具合が悪い場合、クリーンナップする。 docker ps -q | %{ docker stop $_ } docker ps -aq | %{ docker rm $_ } docker images -q | %{ docker rmi $_ } ※ [[Dockerコマンド - .NET 開発基盤部会 Wiki > 全部ほにゃららする。>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Docker%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89#v0dcfe79]] -ビルド・実行 --テンプレートの ---C#~ ・MVC~ ・MVC Core ---VB~ ・Web Forms~ ・Win Forms(3C/S) --本体 ---C# ---NuGet >※ パスの問題があるので、テンプレートはCドラ直下に配置。 -調整 --Npgsqlの依存関係が引けてない。 --例外の動作の変更が必要になる。~ https://twitter.com/openhishopjpo/status/1260514188184567810 -チュートリアル~ ココまで出来たら、チュートリアルに進むことが出来る。~ https://github.com/OpenTouryoProject/OpenTouryo/wiki/Home.ja ***雑談 [#y532cce6] -テーマ等は特に定めない。 -録画するので固有名詞は注意。 ***動画 [#l0d64806] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第0回 OL 部会~ Open棟梁をビルドしながら雑談する回~ https://www.youtube.com/watch?v=71-tc3ofvIQ -OSSコンソーシアム Blogにも掲載 --第0回 OL 部会~ Open棟梁をビルドしながら雑談する回~ https://www.osscons.jp/jo116pvm5-537/ **5/26 セルフZoom部会(第0.5回) [#qc778622] [[この辺>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3#v6aa5053]]で検討が必要になった、~ 「Docker Composeを統合・分割する方法」の話を、~ MVC_Sampleを使って実践する。 ***準備 [#w3bb4ab8] -確認と検証の内容~ 以下の3つの方法の手順の確認と動作の検証 --1つ目の方法:~ 2つのDocker Composeを、外部IP経由でブリッジする方法。 --2つ目の方法:~ Webアプリケーションをビルドしてイメージを作成して、~ それを1つのDocker Composeに統合するという方法。 --3つ目の方法:~ (実は、Linksがレガシーな方法らしく、)~ 2つのDocker Composeを、networksでブリッジする方法。 -利用する物件 --https://github.com/daisukenishino2/EvaluateAspNetCoreOnDocker/tree/master/LocalServices --https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8s/tree/master/MVC_Sample -説明が漏れましたが、 --開発環境は、[[前回に使用した環境>#ba542c26]]と同じです。 --MVC_Sampleは、0_ExecAllBat.batを実行すれば基礎となるビルドが通ります。 -その他の参考情報 --マイクロソフト系技術情報 Wiki ---[[Docker for Windowsのネットワーク設定>https://techinfoofmicrosofttech.osscons.jp/index.php?Docker%20for%20Windows%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E8%A8%AD%E5%AE%9A]] ---[[VS Tools for Dockerを使用せず、単体使いを研究する。>https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%20Tools%20for%20Docker#r606f9ad]] --[[Dockerのネットワーク設定 - 開発基盤部会 Wiki>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Docker%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E8%A8%AD%E5%AE%9A#k76b1473]] ***デモ [#x542f6a3] -1つ目の方法: --MVC_Sampleから外部サービスを削除する。 --MVC_Sampleのプロジェクト中のサービス名を~ Windowsホストの外部IPのアドレスに変更する。 --Windowsホストの外部IP経由でコンテナへルーティングされるよう設定。 >ipconfig IPv4 アドレス . . . . . . . . . . . .: yyy.yyy.yyy.yyy サブネット マスク . . . . . . . . . .: xxx.xxx.xxx.xxx ... >route -p add 10.0.75.1 mask xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy OK! ... >route delete 10.0.75.1 mask xxx.xxx.xxx.xxx OK! ※ [[最新の環境では変更されている。>https://techinfoofmicrosofttech.osscons.jp/index.php?Docker%20for%20Windows%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E8%A8%AD%E5%AE%9A]] --コンテナを起動する。 ---LocalServices を docker-compose up -d で起動する。 ---MVC_Sample を VS Tools for Dockerで起動する。 --結果:&color(red){繋がるには繋がるが、相変わらず、不安定。}; -2つ目の方法: --MVC_SampleのDockerfileのEXPOSE を 5000 に変更する。 --MVC_Sampleをビルドしてイメージを作成する。 ---ソリューションのディレクトリへ移動。 >cd ...\MVC_Sample ---ビルドしてイメージを作成する。 >docker build -f MVC_Sample/DockerFile -t dotnetapp-dev . ---作成したイメージを確認する。 >docker images REPOSITORY TAG IMAGE ID CREATED SIZE dotnetapp-dev latest 4c0d98760acb 4 seconds ago 229MB --下記をLocalServicesのDocker Composeにマージして、コチラを起動する。 nginx-proxy: image: nginx-proxy build: context: ./nginx dockerfile: Dockerfile ports: - "8888:80" links: - mvc_sample mvc_sample: image: dotnetapp-dev:latest volumes: - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro --結果:安定して動作した。 -3つ目の方法: --networksにcommon_linkを作成する。 >docker network create --driver bridge common_link --LocalServicesとMVC_Sampleのnetworksにcommon_linkを追加する。 services: webapp1: ... networks: - common_link networks: common_link: external: true --MVC_Sampleから外部サービスを削除する。 --コンテナを起動する。 ---LocalServices を docker-compose up -d で起動する。 ---MVC_Sample を VS Tools for Dockerで起動する。 --結果:安定して動作した。 -ユーティリティ --コンテナの具合が悪い場合、クリーンナップする。 docker ps -q | %{ docker stop $_ } docker ps -aq | %{ docker rm $_ } docker images -q | %{ docker rmi $_ } --コンテナの起動と停止 >docker-compose up -d ... >docker-compose down ... ***結果 [#q447ac3e] -1つ目は相変わらず不安定。 -1つ目以外(2、3つ目)の方法は行ける。 -CT、ST環境の構築など、K8sへのリフト前~ ステージング・プロダクション環境にデプロイ前のチェックはコレで行けそう。 -参考:[[コンテナのチェーン - マイクロソフト系技術情報 Wiki>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3]] ***動画 [#g5f9c703] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第0.5回 セルフZoom 部会~ 2つのDocker Composeを統合・分割する方法~ https://www.youtube.com/watch?&v=FR4tQH6VlLg -OSSコンソーシアム Blogにも掲載 --第0.5回 セルフZoom 部会~ 2つのDocker Composeを統合・分割する方法~ https://www.osscons.jp/jogfiigaw-537/ **5/29 オンライン部会(第1回) [#s713af15] 「Open棟梁」とは何か?を説明する会。 ***準備 [#zc0bbb59] パワポのピックアップ -OSC2018 hiroshima -Open棟梁概要説明 -Open棟梁機能紹介 ***説明 [#k9a62382] -[[OSC2018 hiroshima session slide by OSSC>https://www.slideshare.net/daisukenishino/osc2018-hiroshima-session-slide-by-ossc]] --自己紹介 --プロジェクト ---開発基盤開発 ---プロモーション ---マーケティング --フレームワークとか、ツールとか。 ---[[開発支援ツールの種類>https://www.google.com/search?q=%E9%96%8B%E7%99%BA%E6%94%AF%E6%8F%B4%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E7%A8%AE%E9%A1%9E]] ---[[Dry (Don‘t repeat yourself)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Dry%28Don%27t%20repeat%20yourself%29#w3e98c70]] ---とは言え「[[標準化(PM用語)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?PMP%EF%BC%9A%E5%85%B1%E9%80%9A%20-%20OPM%20-%20%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%83%BB%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88#tb6eac13]]」が必要。 --AS-IS と TO-BE ---SIって良くない側面あるよね。 ---OSS化 → プロモーション ---マーケティング → Web → DX -Open棟梁 v02-00 --[[概要説明>https://www.slideshare.net/daisukenishino/open-01-50-40474003]] --[[機能紹介>https://www.slideshare.net/daisukenishino/open-0150]] -参考 --Open棟梁プロジェクトの起源について。 - OSSコンソーシアム~ ---第 1 回:https://www.osscons.jp/jovhb4u5u-537 ---第 2 回:https://www.osscons.jp/joiwseup2-537 ---第 3 回:https://www.osscons.jp/jovplg4up-537 ---第 4 回:https://www.osscons.jp/jooifez5q-537 ***雑談 [#p4e4ae5d] -テーマ等は特に定めない。 -録画するので固有名詞は注意。 ***動画 [#g53101a4] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第1回 OL 部会~ 今更、Open棟梁をパワポで説明しながら雑談する回~ https://www.youtube.com/watch?v=F55zyVZM4d0 -OSSコンソーシアム Blogにも掲載 --第1回 OL 部会 今更、Open棟梁をパワポで説明しながら雑談する回~ https://www.osscons.jp/joxwti8u8-537/ **6/3 セルフZoom部会(第1.5回) [#od49c621] [[5/26 セルフZoom部会>#qc778622]]が少々高度だったので、~ 今回は、コンテナ技術(Docker、K8s)の初歩的な話 ***準備 [#r23222be] シナリオだけ決めておきます。 -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -Docker Composeのサンプル実行 --Azure-Samples/azure-voting-app-redis --EvaluateAspNetCoreOnDocker/LocalServices -Visual Studio Tools for Docker --Dockerの生成と実行 --Docker Composeの生成と実行 -上記のDocker、Docker Composeファイルの単体使い --Dockerの単体使い --Docker Composeの単体使い -応用例~ [[5/26 セルフZoom部会>#qc778622]]の内容が該当。 -ローカルK8s~ Compose on Kubernetesでdockerdemos/lab-*を実行する。 ***デモ [#c0f0bf6c] -サンプルの実行 --[[Azure-Samples/azure-voting-app-redis>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20Kubernetes%20Service%20%28AKS%29#c7683828]] --[[EvaluateAspNetCoreOnDocker/LocalServices>https://github.com/daisukenishino2/EvaluateAspNetCoreOnDocker/tree/master/LocalServices]] -[[VS Tools for Docker>https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%20Tools%20for%20Docker]](アドリブ) --Dockerの生成と実行 --Docker Composeの生成と実行 -[[単体使い>https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%20Tools%20for%20Docker#r606f9ad]] --Dockerの生成と実行 --Docker Composeの生成と実行~ &color(red){動画中でハマってた所、Docker Composeに書かれていた、環境変数が原因でした。}; -[[応用例>#qc778622]] -[[ローカルK8s>https://techinfoofmicrosofttech.osscons.jp/index.php?Docker%20Desktop%20for%20Windows#ad01d6b3]] ***結果 [#cecfa277] ローカルK8sのダッシュボード以外は無事動作。 ***動画 [#j2c4d31e] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第1.5回 セルフZoom 部会~ コンテナ技術(Docker、K8s)の初歩的な話~ https://www.youtube.com/watch?v=py_DlGEdKWc -OSSコンソーシアム Blogにも掲載 --第1.5回 セルフZoom 部会~ コンテナ技術(Docker、K8s)の初歩的な話~ https://www.osscons.jp/jopac86nt-537/ **6/12 セルフZoom部会(第2回) [#jcaf881e] コロナで、今更、 -[[Git>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Git]] を [[TortoiseGit>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?TortoiseGit]] + [[GitHub>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9]]で使う方法を説明する。 -あと、以前から使用している[[コチラ>#ba542c26]]の環境の構築手順も説明する。 ***準備 [#c3b0a718] -クラウドなどにVMを準備 -GitHubのアカウントを作成しておく。 -[[デモ内容>#z47896c7]]の事前実施 ***デモ [#z47896c7] 操作説明。 -インストール --[[Git for Windows>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Git#f825d4d1]] --[[TortoiseGit>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?TortoiseGit]](GUIツール) --[[WinMerge>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E8%A8%80%E8%AA%9E%E7%AD%89%E3%81%AB%E4%BE%9D%E5%AD%98%E3%81%97%E3%81%AA%E3%81%84%E6%B1%8E%E7%94%A8%E9%96%8B%E7%99%BA%E6%94%AF%E6%8F%B4%E3%83%84%E3%83%BC%E3%83%AB#ecaa5f82]](DIFFツール) --[[サクラエディタ>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E8%A8%80%E8%AA%9E%E7%AD%89%E3%81%AB%E4%BE%9D%E5%AD%98%E3%81%97%E3%81%AA%E3%81%84%E6%B1%8E%E7%94%A8%E9%96%8B%E7%99%BA%E6%94%AF%E6%8F%B4%E3%83%84%E3%83%BC%E3%83%AB#g4951729]](TXTエディタ) --各種設定等 -準備 --GitHub ---でリポジトリを作成 ---のリポジトリをクローン --ファイルの追加 ---AAA(更新用1) ---BBB(削除用1) ---CCC(更新用2) ---DDD(削除用2) ---EEE(コンフリクト用) --コミット&プッシュ --GitHub上で変更を確認する。 -操作 --Developブランチを作成 --Masterブランチ ---ファイルの更新と削除 ---コミット&プッシュ ---GitHub上で変更を確認する。 --Developブランチ ---ファイルの更新と削除 ---コミット&プッシュ ---GitHub上で変更を確認する。 --プルリクエストの実行 -コンフリクトの --ブランチAの更新 --ブランチBの更新 --プルリクエストの実行 --コンフリクトの解消とマージ -おまけ --[[WSL>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%EF%BC%88Windows%EF%BC%89#ccac9962]] ---インストール ---テスト利用 --[[Docker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%EF%BC%88Windows%EF%BC%89#g5c6d5cd]] ---インストール ---テスト利用 ***結果 [#pfce6abc] コロナで、今更、 -[[Git>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Git]] を [[TortoiseGit>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?TortoiseGit]] + [[GitHub>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9]]で使う方法が解った! --[[Git>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Git]]単体使いに言及していませんでしたが、 もちろん、[[こんな感じ>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20Kubernetes%20Service%20%28AKS%29#m0d071ff]]で出来ます。 --SIでは敬遠される部分もありますが、[[コチラ>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%20-%20%E3%83%95%E3%83%AD%E3%83%BC%E9%96%A2%E9%80%A3]]のフローなどで、~ SI運用を検討することで、SIでも十分、採用できるかと思います。 -序に、[[WSL>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%EF%BC%88Windows%EF%BC%89#ccac9962]] と [[Docker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%EF%BC%88Windows%EF%BC%89#g5c6d5cd]] のインストール、テスト利用ができた♨。~ (今回は、トラブル続きで、[[動画の編集>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E5%8B%95%E7%94%BB%E7%B7%A8%E9%9B%86]]を幾らか行いました。) ***動画 [#l7293a27] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第2回 セルフZoom 部会~ ---在宅に適した分散型バージョン管理システム、Gitの利用方法の紹介~ https://www.youtube.com/watch?v=7XgZRIN_j7A ---おまけ動画(WSLとDocker Desktopをインストールして使用する)~ https://www.youtube.com/watch?v=05PigZHSj2Y -OSSコンソーシアム Blogにも掲載 --第2回 部会 ---在宅に適した分散型バージョン管理システム、Gitの利用方法~ https://www.osscons.jp/jo5t4453u-537/ ---おまけ動画(WSLとDocker Desktopをインストールして使用する)~ https://www.osscons.jp/jo4be1po3-537/ **6/19 セルフZoom部会(第3回) [#n79cc0a7] 「Open棟梁」の -[[5/21 オンライン部会>#je679acb]]で説明から漏れた本体側のビルド -今後、[[リリース予定>リリース情報#p486eaa7]]のOAuth2 / OIDCアーキテクチャ対応版のデモと説明 を行います。 ***準備 [#n0c14408] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#ue8dea11]]の事前実施 ***デモ [#ue8dea11] https://github.com/OpenTouryoProject -「Open棟梁」の本体側のビルド --クローン~ [[OpenTouryo>https://github.com/OpenTouryoProject/OpenTouryo]] --ビルド~ [[OpenTouryo(develop)>https://github.com/OpenTouryoProject/OpenTouryo/tree/develop]] --実行~ [[7/10 セルフZoom部会>#ta3fd0be]] -「Open棟梁」のOAuth2 / OIDCアーキテクチャ対応版のデモと説明 --クローン ---[[MultiPurposeAuthSite>https://github.com/OpenTouryoProject/MultiPurposeAuthSite]] ---[[ResourceServerTemplates>https://github.com/OpenTouryoProject/ResourceServerTemplates]] ---[[FrontendTemplates>https://github.com/OpenTouryoProject/FrontendTemplates]] --ビルド ---MultiPurposeAuthSite ---ResourceServerTemplates ---FrontendTemplates --設定 ---ファイルの配置 ---configファイルの設定 --実行 ---サーバー起動~ ・MultiPurposeAuthSite~ ・ResourceServerTemplates~ ---クライアント起動と実行~ ・FrontendTemplates~ ・MVC_Sample~ ***結果 [#v328e38c] 「Open棟梁」の -本体側のビルド手順も無事にデモできました。 -OAuth2 / OIDCアーキテクチャ対応版については、 --未開示のモバイル対応以外は、まぁ、ボチボチ動きますよと。 --今後、これを、コンテナ化して、Keycloakとコンパチしていく。 ***動画 [#db93537f] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第3回 セルフZoom 部会~ ---前編:第0回部会から漏れたOpen棟梁の本体側をビルドする動画~ https://www.youtube.com/watch?v=NV0ondKILn0 ---後編:Open棟梁 for OAuth2 / OIDCアーキテクチャのデモと説明の動画~ https://www.youtube.com/watch?v=sf9JgX1c-fs -OSSコンソーシアム Blogにも掲載 --第3回 部会 ---前編:第0回部会から漏れたOpen棟梁の本体側をビルドする~ https://www.osscons.jp/jozfffwlh-537/ ---後編:Open棟梁 for OAuth2 / OIDCアーキテクチャのデモと説明~ https://www.osscons.jp/jo3jtjwi8-537/ **6/29 セルフZoom部会(第4回) [#j1c03e00] [[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]とKeycloakをコンパチしてみる動画 ***準備 [#pec882d5] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#d2af4c3a]]の事前実施 ***デモ [#d2af4c3a] [[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]とKeycloakをコンパチ -OIDC の Authorization Code Flowで連携~ → [[Client上での id_Token の検証>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Keycloak#v0476d13]] -OIDC でない PKCE 4 SPAで連携~ → [[Resource Server上での access_token の検証>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Keycloak#hc3a041e]] ***結果 [#ncccb198] [[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]とKeycloakのコンパチが出来た。 ***動画 [#z312592c] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第4回 セルフZoom 部会~ 汎用認証サイトと Keycloak をコンパチする動画 ---前編:code編~ https://www.youtube.com/watch?v=3ZC024SsftY ---後編:PKCE 4 SPA編~ https://www.youtube.com/watch?v=OmjzJia-kU8 -OSSコンソーシアム Blogにも掲載 --第4回 部会 汎用認証サイトと Keycloak をコンパチする ---前編:code編~ https://www.osscons.jp/jo4o5cvpy-537/ ---前編:PKCE 4 SPA編~ https://www.osscons.jp/jogpgrs9z-537/ **7/10 セルフZoom部会(第5回) [#ta3fd0be] 「Open棟梁」の機能群のデモ+説明%%と雑談%% ***準備 [#w1351dff] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明 --[[前回に使用した環境>#ba542c26]]と同じ。 --(追加で、[[.NET3.1のSDKのインストール>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%20Core#h811be14]]は必要です) -[[デモ内容>#d58a3a4e]]の事前実施 ***デモ [#d58a3a4e] 以下のツール・機能を実行(netcoreappで) -[[動的パラメタライズド・クエリ分析ツール]] -自動生成 --[[D層自動生成ツール]] ---自動生成 ---組み込み ---[[POCO変換部品の利用>機能一覧 - 共通部品群#r9af4f09]] ---[[自動生成Dao性能対策]] ---[[自動生成Daoのパラメタ属性指定]](型指定) --[[テーブル・メンテナンス画面の自動生成]] ---Products、Categories、Supplierテーブルを使用 ---SQL ファイル、Dao クラス、テーブル・メンテナンス画面の生成 --%%[[データ・メンテナンス画面の自動生成]]%% -その他 --[[非同期イベント・フレームワーク]] --%%[[非同期処理サービス]]%% --[[汎用認証サイトは別の機会に。>#g50b14e7]] -参考 --Home.ja · OpenTouryoProject/OpenTouryo Wiki~ https://github.com/OpenTouryoProject/OpenTouryo/wiki/Home.ja ---D層自動生成は、各アプリケーション編で説明 ---動的パラメタライズド・クエリ分析ツール編 ---テーブル・メンテナンス画面自動生成編 ***結果 [#o2b47864] -動画化により、無事、説明の手離れができた。 -.NET Core 3.1での動作検証もできた。 ***動画 [#m6021280] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第5回 セルフZoom 部会 > Open棟梁の機能デモ ---(1):動的パラメタライズド・クエリ分析ツール編~ https://www.youtube.com/watch?v=jnfZmXqnM7Y ---(2):D層自動生成機能編~ https://www.youtube.com/watch?v=OqEXe0-r_aE ---(3):テーブル・メンテナンス画面自動生成編~ https://www.youtube.com/watch?v=e82QHAc0pHY ---(4):非同期イベント・フレームワーク編~ https://www.youtube.com/watch?v=WSL7sIxQGdc -OSSコンソーシアム Blogにも掲載 --第5回 部会 Open棟梁の機能のデモを.NET Core 3.1でやってみる。~ https://www.osscons.jp/jot0ots5e-537/ -参考 --Demo: dynamic parametrized query analysis tool of Open棟梁.~ https://www.youtube.com/watch?v=6_8baBTVcRM --Demo: D layer automatic generation tool of Open棟梁.~ https://www.youtube.com/watch?v=6_8baBTVcRM --Demo: using automatic generated table maintenance screen of Open棟梁. ---(1) : https://www.youtube.com/watch?v=kBT8QnSI0SI ---(2) : https://www.youtube.com/watch?v=sjNvBNAKrgc **7/29 セルフZoom部会(第6回) [#g50b14e7] [[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]のデモ+説明 ***準備 [#j6337435] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#d56f8800]]の事前実施 ***デモ [#d56f8800] -[[クローン&ビルド>#n79cc0a7]] -[[config>汎用認証サイトのコンフィギュレーション]] --[[.NET Framework版>https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config]] --[[.NET Core版>https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSiteCore/MultiPurposeAuthSiteCore/appsettings.json]] -機能説明 --IdP機能(ASP.NET Identity) ---サインアップ ---サインイン・サインアウト ---パスワード・リセット ---アカウント・ロックアウト ---SecurityStamp ---アカウントを編集する。~ ・%%ユーザ名を変更する。%%~ ・%%メアドを追加・削除する。%%~ ・パスワードを変更する。~ ・電話番号を設定する。~ ・2要素認証をオンにする。~ ・FIDO2.0をオンにする。~ ・属性データ(非定型データ)の管理(編集)~ ・OAuth2データの管理(編集とToken取得)~ → オンライン決済サービス(テスト) --STS機能(Open棟梁拡張) ---SAML2 >汎用認証サイトのSAML2連携テスト、~ .NET Core版へのマージが完了。 - OSSコンソーシアム~ https://www.osscons.jp/jo021eogb-537/ ---OAuth2/OIDC~ ・Authorization Code Flow~ ・Implicit Flow~ ・Hybrid Flow~ ・PKCE Flow~ ---外部ログイン~ ソーシャル・ログイン ---metadata(configuration)~ ・samlmetadata~ ・.well-known/openid-configuration~ ・jwkcerts~ ---次回~ ・Financial-grade API~ ・Hybrid-IdP(ID連携) ***結果 [#ee746774] 以下の機能に関する理解が深まった。 -[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]の使い所 -IdP機能(ASP.NET Identity) -STS機能(Open棟梁拡張) --各種認証フロー --metadata(configuration) ***動画 [#q83dab4d] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第回6 セルフZoom 部会 > 汎用認証サイト概要説明 ---(1):IdP(Identity Provider)編~ https://www.youtube.com/watch?v=62kPiUlgktw ---(2):閑話休題~ https://www.youtube.com/watch?v=hCRMUany4hI ---(3):STS(Security Token Service)編~ https://www.youtube.com/watch?v=_nPa6hmaff4 -OSSコンソーシアム Blogにも掲載 --第6回 部会 汎用認証サイトの概要説明をしてみる。~ https://www.osscons.jp/joe580qq9-537/ **7/31 セルフZoom部会(第7回) [#fa1ad410] [[新リポジトリ群>https://github.com/NetDevInfraWGinOSSConsortium]]のコンセプト説明。 -新Organization&Repository公開、Linux開発環境等。 - OSSコンソーシアム~ https://www.osscons.jp/joez0yt30-537/ ***準備 [#ec6aa41b] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#dd40c609]]の事前実施 ***デモ [#dd40c609] [[Organization>https://github.com/NetDevInfraWGinOSSConsortium]]に移動し、 -[[LocalServicesOnDocker>https://github.com/NetDevInfraWGinOSSConsortium/LocalServicesOnDocker]]を --クローンして実行 --コンテンツの説明 -[[MVCSampleOnDocker>https://github.com/NetDevInfraWGinOSSConsortium/MVCSampleOnDocker]]を --クローンして実行 --コンテンツの説明 ***結果 [#eef4725a] 新リポジトリ群のコンセプトを理解した。 -コンテナを使って生産性の向上が可能。 -開発環境用と実行環境用のDockerfileは異なる。 -工程毎のコンテナ環境は、 --ビルド・プロセスの調整と --コンテナ・レジストリに >よって達成される。 -OAuth2/OIDCアーキテクチャなどの、~ 複雑、且つ、高難易度の開発も容易化できる。 ***動画 [#a81130dc] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第7回 セルフZoom 部会:~ 新Organization&Repositoryのコンセプト等の説明をしてみる。~ https://www.youtube.com/watch?v=AquKQZ43a18 -OSSコンソーシアム Blogにも掲載 --第7回 部会 新Organization&Repositoryのコンセプト等の説明をしてみる。~ https://www.osscons.jp/joh22kyyf-537/ **8/3 セルフZoom部会(第8回) [#q03b4fa0] ※ 8/1ではなく、8/3でした。 -あまり慣例に従ってないCI/CD実践例のご紹介。 -恐らく、こう言うプロダクトも多いんじゃないか?と。 ***準備 [#da4a42f8] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#a66818dd]]の事前実施 ***デモ [#a66818dd] -[["\OpenTouryo\root\programs\z_CICD.bat">https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/z_CICD.bat]]の実行&説明 -[["\OpenTouryoTemplates\z_CICD.bat">https://github.com/OpenTouryoProject/OpenTouryoTemplates/blob/develop/z_CICD.bat]]の実行&説明 ***結果 [#p3e58469] -CI/CDの慣例に従っていなくても、~ プロダクト特性に合わせて、チューニングされたCI/CDで良い。 -「みんなちがって、みんないい。」(金子みすゞ)と言う事が解った。 -参考 --Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。~ https://www.slideshare.net/daisukenishino/open-111086067 ***動画 [#e212b563] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第8回 セルフZoom 部会:~ あまり慣例に従ってないCI/CD実践例のご紹介。~ https://www.youtube.com/watch?v=eaghMVhUdrw -OSSコンソーシアム Blogにも掲載 --第8回 部会 あまり慣例に従ってないCI/CD実践例のご紹介。~ https://www.osscons.jp/jo0wmbkc8-537/ **8/12 セルフZoom部会(第9回) [#l8b260ed] いよいよやります。[[OAuth2OidcArchitOnDocker>Github上の成果物#jf07e370]]のデモンストレーション。 ***準備 [#y6fc4d4f] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#v6677b20]]の事前実施 ***デモ [#v6677b20] -起動 --[[LocalServicesOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#d606e9b3]] --[[MVCSampleOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#s176fb94]] --[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#q728dba9]] -実行 --Confidential Client : MVC --Public Client : SPA -開発~ MVCSampleOnDockerを、IIS Expressで実行。 -ポイント --前回動画と同じコンテナのチェーンを実現~ 正確には、コンテナによる環境のチェーン --その他 ---段階毎の構成変更が色々と大変。 ---Visual Studio の生成した .NET Core の Dockerfileが色々とオカシイ。 ---log4netのLoggerの件、直しました(Appenderを追加)。 ---Chrome の Cookie周辺の話しは、SameSite属性の件だった。 -参考 --各種 Wiki ---[[コンテナのチェーン>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3]] ---[[特定のポートが開いているかどうか確認する。>https://techinfoofmicrosofttech.osscons.jp/index.php?netstat%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89#gd3d2b60]] ---[[.NET CoreのDockerfile>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%20Core%E3%81%AEDockerfile]] ---[[コンテナ化する際の設定ポリシー>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E5%8C%96%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC]] --OSSコンソーシアム Blog ---SameSite属性どころか、HTTP自体がダメになってた件(Cookie)~ https://www.osscons.jp/jov9t04kz-537/ ***結果 [#qf549916] [[Open棟梁 for OAuth2 / OIDC>#n79cc0a7]]のような、高度なアーキテクチャのプロジェクトを、~ Dockerコンテナと、コンテナ・オーケストレータであるDockerコンポーズによって、~ 開発環境構築を簡素化し、生産性の大幅な向上を図っている点がポイントになります。 ***動画 [#f3e396bf] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第9回 セルフZoom 部会:~ 言うなれば、Open棟梁 for Dockerと言った感じの物件のご紹介。~ https://www.youtube.com/watch?v=2a7T1Gldzbw -OSSコンソーシアム Blogにも掲載 --第9回 部会 言うなれば、Open棟梁 for Dockerと言った感じの物件のご紹介。~ https://www.osscons.jp/jofvzdsx9-537/ **8/19 セルフZoom部会(第10回) [#k8acd9c2] -[[6/19 セルフZoom部会(第3回)>#n79cc0a7]] -[[8/12 セルフZoom部会(第9回)>#l8b260ed]] に含まれる、Open棟梁 for OAuth2 / OIDCアーキテクチャの~ 説明資料を作成し、アニメーションが多いので解説動画を撮った。 ***準備 [#wc6ad738] -Zoomのスケジュール~ (まだ、一般募集は無し) -[[解説>#ne47cf47]]用のPPTの作成 ***解説 [#ne47cf47] 下記のPPTを使用して解説を行う。 >https://1drv.ms/p/s!Amfs5caPP9r5jQk6uYDmfCG6cBMG ***結果 [#yf4556eb] Open棟梁 for OAuth2 / OIDCアーキテクチャのサポート機能 / 範囲を把握できた。 ***動画 [#f743bce4] -Zoomの録画をYoutubeにアップロード -Zoomの録画をYoutubeにアップロード。 --第10回 部会 Open棟梁 for OAuth2 / OIDC の説明資料を作成した。~ https://www.youtube.com/watch?v=BX-SmU0l9l4 -OSSコンソーシアム Blogにも掲載 --第10回 部会 Open棟梁 for OAuth2 / OIDC の説明資料を作成した。~ https://www.osscons.jp/jon8dnhox-537/ **8/26 セルフZoom部会(第11回) [#kaeec19b] 構築してみた、[[Linux開発環境>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%EF%BC%88Linux%EF%BC%89]]のご紹介。 ***準備 [#g19b9aff] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ 前述の「Linux開発環境」を使用する。 -[[デモ内容>#k4f4c393]]の事前実施 ***デモ [#k4f4c393] [[8/12 セルフZoom部会(第9回)>#l8b260ed]]の内容を前述の「Linux開発環境」上で実行。 -起動 --[[LocalServicesOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#d606e9b3]] --[[MVCSampleOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#s176fb94]] --[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#q728dba9]] -開発~ MVCSampleOnDockerを、[[Visual Studio Code>https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%20Code]]で開発。 --Windows上でビルド・実行した以下フォルダをZIP ..\MVCSampleOnDocker\MVC_Sample --Linux上に送り込み、UNZIPする。 unzip MVC_Sample.zip --Program.csの起動パスを変更。 string url = Environment.GetEnvironmentVariable("UseUrl"); if (string.IsNullOrEmpty(url)) { url = "https://0.0.0.0:44334/"; } --以下のコマンドで実行。 sudo dotnet run --これで、以降は、 ---.vscodeフォルダに、launch.json / tasks.jsonが自動生成される。 ---[[Visual Studio Code>https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%20Code]]でフォルダを開いてデバッグ実行できる。~ (HTTPSのデバッグ実行はVisual Studio Codeをsudoで起動する必要があるもよう) $ sudo code --user-data-dir='~/.vscode-root' -ポイント --コンテナのクリーンナップ(Linux版) docker stop `docker ps -q` docker rm -f `docker ps -aq` docker rmi `docker images -q` ※ [[Dockerコマンド - .NET 開発基盤部会 Wiki > 全部ほにゃららする。>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Docker%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89#v0dcfe79]] --why i cant login with sa · Issue #55 · microsoft/mssql-docker~ https://github.com/microsoft/mssql-docker/issues/55 --VSCodeを使用してroot権限でデバッグ実行する | Developers.IO~ https://dev.classmethod.jp/articles/vscode-sudo-debug/ ***結果 [#w380208d] Linuxでの.NET開発も、~ ボチボチ、出来そうですね。 ***動画 [#f761c66a] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第11回 部会 .NET開発をLinux上で行う~ (Open棟梁 for OAuth2 / OIDC をLinuxVM上で動かしてみる)。~ https://www.youtube.com/watch?v=OtoGhnK4dPE -OSSコンソーシアム Blogにも掲載 --第11回 部会 .NET開発をLinux上で行う~ (Open棟梁 for OAuth2 / OIDC をLinux上で~ https://www.osscons.jp/joazwac6h-537/ **11/8 セルフZoom部会(第12回) [#f963ec87] 2ヶ月ぶりの再開となりましたが、今回は、~ [[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]のIDフェデレーションについて。 ***準備 [#rd91d4cf] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#y88bc6ee]]の事前実施 ***デモ [#y88bc6ee] [[8/12 セルフZoom部会(第11回)>#l8b260ed]]で使用したコンテナを利用。 -起動 --[[LocalServicesOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#d606e9b3]] --[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Github%E4%B8%8A%E3%81%AE%E6%88%90%E6%9E%9C%E7%89%A9#q728dba9]] -Hybrid-IdP(ID連携)~ --修正ポイント ---appsettings.jsonのコンフィグ~ ・[[パラメタ置換機能>Docker対応#jf6957a9]]を有効化するスイッチが漏れていたので、~ OAuth2OidcArchitOnDockerのMultiPurposeAuthSiteCoreにコレを追加し、~ ・「各種Cookie名」と「RedisのDataProtectionに設定するApplicationName」~ の衝突問題の解決のために、パラメタをConfig可能にしてコレを追加。~ https://twitter.com/openhishopjpo/status/1324724803106844672 // appSettings section "appSettings": { // Webサービス用 "Azure": "MultiPurposeAuthSiteCore", "FxContainerization": "ON", // Session周辺の問題対策 "FxSessionCookieName": "MultiPurposeAuthSiteCoreSession", "FxApplicationName": "MultiPurposeAuthSiteCore", ・以下の、[id_federation_endpoint]に固定値を設定。~ "06d20f595b694114b710c1d85e21bb8e": { "client_secret": "ld47EVKDDkxleIup7Z0UQ1rVy_IR4q3lXamyNcrIUEo", "redirect_uri_code": "[id_federation_endpoint]", "redirect_uri_token": "-", "client_name": "IdFederation" }, ---IdPのコンフィグ~ コンテナ化後の[[redirect_uri(2つ目)を、各IdPに追加>汎用認証サイト(Multi-purpose Authentication Site)#ie8c4d4d]]した。~ ・https://localhost:44300/MultiPurposeAuthSite/signin-xxxx~ ・https://localhost:44300/signin-xxxx ← コレを追加 --以下が、必要なDocker Composeの定義 ---連携元~ 以下を「multipurposeauthsitecore - environment」に追加~ (XXXXXには、別途、実際の値の取得と設定が必要) multipurposeauthsitecore1: image: osscjpdevinfra/multipurposeauthsitecore:OAuth2OidcArchitOnDocker environment: - UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/ - RedisConfig=redis - RedisInstanceName=redis - ASPNETCORE_Kestrel__Certificates__Default__Password=seigi@123 - ASPNETCORE_Kestrel__Certificates__Default__Path=/app/aspnetapp.pfx - ConnectionString_SQL=Data Source=sqlserver;Initial Catalog=Northwind;User ID=sa;Password=seigi@123; - ConnectionString_MCN=Server=mysql;Database=test;User Id=root;Password=seigi@123; - ConnectionString_NPS=HOST=postgres;DATABASE=postgres;USER ID=postgres;PASSWORD=seigi@123; -------------------- 以下を追加 -------------------- - FxSessionCookieName=MultiPurposeAuthSiteCoreSession1 - FxApplicationName=MultiPurposeAuthSiteCore1 - MicrosoftAccountAuthentication=true - MicrosoftAccountAuthenticationClientId=XXXXX - MicrosoftAccountAuthenticationClientSecret=XXXXX - GoogleAuthentication=true - GoogleAuthenticationClientId=XXXXX - GoogleAuthenticationClientSecret=XXXXX - FacebookAuthentication=true - FacebookAuthenticationClientId=XXXXX - FacebookAuthenticationClientSecret=XXXXX - TwitterAuthentication=true - TwitterAuthenticationClientId=XXXXX - TwitterAuthenticationClientSecret=XXXXX - IdFederationAuthorizeEndPoint=https://localhost:44301/authorize - IdFederationTokenEndPoint=http://multipurposeauthsitecore2:5000/token - IdFederationUserInfoEndPoint=http://multipurposeauthsitecore2:5000/userinfo ---------------------------------------------------- ports: - "44300:5001" networks: - common_link ---連携先~ 以下の「multipurposeauthsitecore2」serviceを追加 multipurposeauthsitecore2: image: osscjpdevinfra/multipurposeauthsitecore:OAuth2OidcArchitOnDocker environment: - UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/ - RedisConfig=redis - RedisInstanceName=redis - ASPNETCORE_Kestrel__Certificates__Default__Password=seigi@123 - ASPNETCORE_Kestrel__Certificates__Default__Path=/app/aspnetapp.pfx - ConnectionString_SQL=Data Source=sqlserver;Initial Catalog=Northwind;User ID=sa;Password=seigi@123; - ConnectionString_MCN=Server=mysql;Database=test;User Id=root;Password=seigi@123; - ConnectionString_NPS=HOST=postgres;DATABASE=postgres;USER ID=postgres;PASSWORD=seigi@123; - FxSessionCookieName=MultiPurposeAuthSiteCoreSession2 - FxApplicationName=MultiPurposeAuthSiteCore2 ports: - "44301:5001" networks: - common_link ***結果 [#q7e26049] 一通り動作したが、下記の諸事情により、~ Hybrid-IdPの呼び出し元側をコンテナ化することが出来なかった。 -コンテナ化における課題 --Config可能なパラメタ自体を増やす必要がある。 ---Configの環境変数対応済だが、 ---Docker Imageを再利用するため、~ Config可能なパラメタ自体を増やす必要がある。 --Debugが難しい ---リモート・デバッガが(、まだ)、あまりカジュアルに使えない。 ---コレが普及してくると、コンテナ化も加速すると思われる。 -Hybrid-IdPの問題 --衝突回避 ---Session Cookie名 ---Cookie認証チケット名 ---RedisのDataProtectionに設定するApplicationName --Tokenリクエストを自IdPに行ってしまう。~ ---multipurposeauthsitecore2を指定しているのに、~ multipurposeauthsitecore1にルーティングされている。 ---ポート番号も変えているので、単純に名前解決後のアドレスが~ 間違っているだけでも無さそう。Docker Desktopのバグなのだろうか? ***動画 [#s12ed6bb] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第12回 部会 コンテナを使用した~ 汎用認証サイトの外部ログイン系機能評価~ https://www.youtube.com/watch?v=O0r4TBjT5HA -OSSコンソーシアム Blogにも掲載 --第12回 部会 コンテナを使用した~ 汎用認証サイトの外部ログイン系機能評価~ https://www.osscons.jp/jon8xgvc4-537/ **11/15 セルフZoom部会(第13回) [#fd1f6676] [[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]のFAPI1, 2対応について。 ***準備 [#ved7b193] -Zoomのスケジュール~ (まだ、一般募集は無し) -開発環境の説明~ [[前回に使用した環境>#ba542c26]]と同じ。 -[[デモ内容>#vd686987]]の事前実施 ***デモ [#vd686987] -概要~ 以下の様なデモンストレーションを実施する。 --[[FAPI1>https://techinfoofmicrosofttech.osscons.jp/index.php?FAPI%20Part%201%20%28Read%20Only%20API%20Security%20Profile%29]] ---[[Confidential Client>https://techinfoofmicrosofttech.osscons.jp/index.php?FAPI%20Part%201%20%28Read%20Only%20API%20Security%20Profile%29#x56eb861]] ---[[Public Client>https://techinfoofmicrosofttech.osscons.jp/index.php?FAPI%20Part%201%20%28Read%20Only%20API%20Security%20Profile%29#k5a50e89]] --[[FAPI2>https://techinfoofmicrosofttech.osscons.jp/index.php?FAPI%20Part%202%20%28Read%20and%20Write%20API%20Security%20Profile%29]] ---[[Confidential Client>https://techinfoofmicrosofttech.osscons.jp/index.php?FAPI%20Part%202%20%28Read%20and%20Write%20API%20Security%20Profile%29#y0fe1fb9]] ---[[Public Client>https://techinfoofmicrosofttech.osscons.jp/index.php?FAPI%20Part%202%20%28Read%20and%20Write%20API%20Security%20Profile%29#uca31885]](未サポート) ---[[FAPI-CIBA(AD無しモード)>https://techinfoofmicrosofttech.osscons.jp/index.php?CIBA%28Client%20Initiated%20Backchannel%20Authentication%29#fc870e7d]] -詳細 --FAPI1 - CC~ Tokenエンドポイントの認証をチェック(JWT) --FAPI1 - PC~ 特に無し(QueryのPKCE)。 --FAPI2 - CC ---Requestオブジェクト(PAR) ---Tokenエンドポイントの認証をチェック(MTLS) ---JWT(access_token : JWS、id_token : JWE) --FAPI2 - PC~ サポートなし --FAPI - CIBA ---AD無しのデバッグ・モードで実行。 ---Pollingモードでしてある。 ---Requestオブジェクト(PAR) ---JWT(access_token : JWS) -今回はコンテナを使用しない。 --クライアント証明書を使用するTLSスタック構成方法が不明(→ [[IIS Express>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%EF%BC%8B%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E8%A8%BC%E6%98%8E%E6%9B%B8#sf697402]])。 --自身へのTokenリクエストが上手く処理できない課題を発見。 ---BrowserのRedirectでは、localhostが使用可能。 ---コンテナ内のWebAPI呼出では、localhostが使用不可能。 --クローン&ビルド、configは、[[6/19 セルフZoom部会(第3回)>#n79cc0a7]]と同じ。 ***結果 [#s17b950a] -まぁまぁ、動かせたが、結構大変。 -一部、コードの修正が必要だった。 --Same Site Cookie対応 --RequestObject の redirect_uri 設定(テストコード) ***動画 [#j63e561f] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第13回 部会 汎用認証サイトのFAPI系機能評価(コンテナ使用できず~ https://www.youtube.com/watch?v=ItU2ftCblHg -OSSコンソーシアム Blogにも掲載 --第13回 部会 汎用認証サイトのFAPI系機能評価(コンテナ使用できず~ https://www.osscons.jp/joebd09ow-537 **11/22 セルフZoom部会(第14回) [#e8115aff] .NET5.0でのビルド&実行の確認。 ***準備 [#n83be882] -対象は、下記(OpenTouryoTemplatesリポジトリ/developブランチ)のroot_VS2019~ https://github.com/OpenTouryoProject/OpenTouryoTemplates/tree/develop/root_VS2019 -[[以前の動画>#ta3fd0be]]を参照して以下を実施。 --変更:TargetFramework ---対象: *.csproj; *.bat ---変更内容:netcoreapp3.0 → net5.0 --変更:ビルド出力先 ---対象: *.csproj; *.bat ---変更内容:Build_netcore30 → Build_net50 -ポイント~ --デスクトップについては、~ 追加で、以下の変更が必要になる。 ---TargetFramework: net5.0 → net5.0-windows ---参照設定先フォルダ: net5.0 → net5.0-windows ---Microsoft.NET.Sdk.WindowsDesktop SDKが不要に。 <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> → <Project Sdk="Microsoft.NET.Sdk"> に変更する。 --デスクトップに対する変更の例外 ---以下プロジェクトの、参照設定先フォルダを変更しない(net5.0-windows生成前なので)。~ ・CS\Frameworks\Infrastructure\Business\RichClient~ ・CS\Frameworks\Infrastructure\CustomControl\RichClient ---以下プロジェクト中のWSIFType_sample、WSServer_sampleに関しては、~ 参照設定先フォルダを変更しない(net5.0-windowsではなくnet5.0中に存在するため)。~ CS\Samples4NetCore\Legacy\WS_sample\WSClient_sample\WSClientWin_sample ***デモ [#kcdbcafa] .NET5.0のビルド&結果のデモ(下記の動画を参照)。 ***結果 [#z50195d2] -ビルド&MVC、3層C/Sで動作ができた。 -割と大きめな破壊的変更を発見した。 --破壊的変更の内容~ [[BinaryFormatter シリアル化メソッドが古い形式になり、ASP.NET アプリでは使用不可に>https://docs.microsoft.com/ja-jp/dotnet/core/compatibility/3.1-5.0#binaryformatter-serialization-methods-are-obsolete-and-prohibited-in-aspnet-apps]] --エラーメッセージ NotSupportedException: BinaryFormatter serialization and deserialization are disabled within this application. See https://aka.ms/binaryformatter for more information. --取り敢えず以下を追加することで対応できる。 <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization> --以下のようにあるので、~ 「コンシューマーの"責任"で使用すれば良いのでは?」~ という気もする。 BinaryFormatter を利用するかどうかの判断に関する責任は、すべてコンシューマーにあります。 コンシューマーは、BinaryFormatter の使用に関するセキュリティ、技術、評判、法律、規制の要件を評価する必要があります。 ※ 動向をウォッチして何処かで判断が必要。 ***動画 [#uf75f850] -Zoomの録画をYoutubeにアップロード。 -Zoomの録画をYoutubeにアップロード --第14回 部会 Open棟梁の機能のデモを.NET 5でやってみる。~ https://www.youtube.com/watch?v=ItU2ftCblHg -OSSコンソーシアム Blogにも掲載 --第14回 部会 Open棟梁の機能のデモを.NET 5でやってみる。~ https://www.osscons.jp/jof8hchcy-537/ *参考 [#sab60f3b] **[[部会メモ(開発基盤部会)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E9%83%A8%E4%BC%9A%E3%83%A1%E3%83%A2]] [#t335cb5d] IP:124.96.76.100 TIME:"2023-01-04 (水) 21:59:21" REFERER:"https://opentouryo.osscons.jp/index.php?cmd=edit&page=%E9%83%A8%E4%BC%9A%E3%83%A1%E3%83%A2" USER_AGENT:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"