部会メモ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>FrontPage]]
--[[部会メモ(2020年)>#qba10194]]
--[[部会メモ(2021年)]]
--[[部会メモ(2022年)]]
--[[部会メモ(2023年)]]
*目次 [#l898b156]
#contents
*概要 [#m1142774]
-部会開催メモ
--計画
--実施内容
--コンテンツ
-当ページの探し方~
「[[Open棟梁 Wiki 部会メモ>https://www.google.com/search?...
*詳細(2020年 [#qba10194]
**5/21 オンライン部会(第0回) [#je679acb]
「Open棟梁」のビルドを通すデモと雑談
***準備 [#ba542c26]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-環境の準備~
--[[構成概要>https://dotnetdevelopmentinfrastructure.ossc...
--[[構成動画(おまけ動画)>#l7293a27]]
--Visual Studio は、Code と 2019のみインストール。
-デモ内容の事前実施
--[[Download .NET SDKs for Visual Studio>https://dotnet.m...
---[[.NET 4.7 Developer Pack>https://dotnet.microsoft.com...
---[[.NET 4.8 Developer Pack>https://dotnet.microsoft.com...
***デモ [#qf0398a0]
-プログラムの取得
--本体のGitクローン~
https://github.com/OpenTouryoProject/OpenTouryo
--テンプレートのダウンロードZIP~
https://github.com/OpenTouryoProject/OpenTouryoTemplates
>すいません、今回、利用のバージョンは02-60なので、正確に...
テンプレートは、以下のURLからダウンロードZIPして下さい。~
https://github.com/OpenTouryoProject/OpenTouryoTemplates/...
-Docker系~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
--開発環境~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
--Docker化されたMVCの実行~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
-修正・変更
--ビルドツールへのパスの調整
--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 > 全部ほにゃ...
-ビルド・実行
--テンプレートの
---C#~
・MVC~
・MVC Core
---VB~
・Web Forms~
・Win Forms(3C/S)
--本体
---C#
---NuGet
>※ パスの問題があるので、テンプレートはCドラ直下に配置。
-調整
--Npgsqlの依存関係が引けてない。
--例外の動作の変更が必要になる。~
https://twitter.com/openhishopjpo/status/1260514188184567...
-チュートリアル~
ココまで出来たら、チュートリアルに進むことが出来る。~
https://github.com/OpenTouryoProject/OpenTouryo/wiki/Home...
***雑談 [#y532cce6]
-テーマ等は特に定めない。
-録画するので固有名詞は注意。
***動画 [#l0d64806]
-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...
「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/EvaluateAspNetCoreOn...
--https://github.com/daisukenishino2/EvaluateAspNetCoreOn...
-説明が漏れましたが、
--開発環境は、[[前回に使用した環境>#ba542c26]]と同じです。
--MVC_Sampleは、0_ExecAllBat.batを実行すれば基礎となるビ...
-その他の参考情報
--マイクロソフト系技術情報 Wiki
---[[Docker for Windowsのネットワーク設定>https://techinf...
---[[VS Tools for Dockerを使用せず、単体使いを研究する。>...
--[[Dockerのネットワーク設定 - 開発基盤部会 Wiki>https://...
***デモ [#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...
OK!
...
>route delete 10.0.75.1 mask xxx.xxx.xxx.xxx
OK!
※ [[最新の環境では変更されている。>https://techinfoofmicr...
--コンテナを起動する。
---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 ...
dotnetapp-dev latest ...
--下記を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...
- ${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へのリフト前~
ステージング・プロダクション環境にデプロイ前のチェックは...
-参考:[[コンテナのチェーン - マイクロソフト系技術情報 Wi...
***動画 [#g5f9c703]
-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.sl...
--自己紹介
--プロジェクト
---開発基盤開発
---プロモーション
---マーケティング
--フレームワークとか、ツールとか。
---[[開発支援ツールの種類>https://www.google.com/search?q...
---[[Dry (Don‘t repeat yourself)>https://dotnetdevelopmen...
---とは言え「[[標準化(PM用語)>https://dotnetdevelopment...
--AS-IS と TO-BE
---SIって良くない側面あるよね。
---OSS化 → プロモーション
---マーケティング → Web → DX
-Open棟梁 v02-00
--[[概要説明>https://www.slideshare.net/daisukenishino/op...
--[[機能紹介>https://www.slideshare.net/daisukenishino/op...
-参考
--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にアップロード
--第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://techinfo...
--[[EvaluateAspNetCoreOnDocker/LocalServices>https://gith...
-[[VS Tools for Docker>https://techinfoofmicrosofttech.os...
--Dockerの生成と実行
--Docker Composeの生成と実行
-[[単体使い>https://techinfoofmicrosofttech.osscons.jp/in...
--Dockerの生成と実行
--Docker Composeの生成と実行~
&color(red){動画中でハマってた所、Docker Composeに書かれ...
-[[応用例>#qc778622]]
-[[ローカルK8s>https://techinfoofmicrosofttech.osscons.jp...
***結果 [#cecfa277]
ローカルK8sのダッシュボード以外は無事動作。
***動画 [#j2c4d31e]
-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...
-あと、以前から使用している[[コチラ>#ba542c26]]の環境の構...
***準備 [#c3b0a718]
-クラウドなどにVMを準備
-GitHubのアカウントを作成しておく。
-[[デモ内容>#z47896c7]]の事前実施
***デモ [#z47896c7]
操作説明。
-インストール
--[[Git for Windows>https://dotnetdevelopmentinfrastructu...
--[[TortoiseGit>https://dotnetdevelopmentinfrastructure.o...
--[[WinMerge>https://dotnetdevelopmentinfrastructure.ossc...
--[[サクラエディタ>https://dotnetdevelopmentinfrastructur...
--各種設定等
-準備
--GitHub
---でリポジトリを作成
---のリポジトリをクローン
--ファイルの追加
---AAA(更新用1)
---BBB(削除用1)
---CCC(更新用2)
---DDD(削除用2)
---EEE(コンフリクト用)
--コミット&プッシュ
--GitHub上で変更を確認する。
-操作
--Developブランチを作成
--Masterブランチ
---ファイルの更新と削除
---コミット&プッシュ
---GitHub上で変更を確認する。
--Developブランチ
---ファイルの更新と削除
---コミット&プッシュ
---GitHub上で変更を確認する。
--プルリクエストの実行
-コンフリクトの
--ブランチAの更新
--ブランチBの更新
--プルリクエストの実行
--コンフリクトの解消とマージ
-おまけ
--[[WSL>https://dotnetdevelopmentinfrastructure.osscons.j...
---インストール
---テスト利用
--[[Docker>https://dotnetdevelopmentinfrastructure.osscon...
---インストール
---テスト利用
***結果 [#pfce6abc]
コロナで、今更、
-[[Git>https://dotnetdevelopmentinfrastructure.osscons.jp...
--[[Git>https://dotnetdevelopmentinfrastructure.osscons.j...
もちろん、[[こんな感じ>https://techinfoofmicrosofttech.os...
--SIでは敬遠される部分もありますが、[[コチラ>https://dotn...
SI運用を検討することで、SIでも十分、採用できるかと思いま...
-序に、[[WSL>https://dotnetdevelopmentinfrastructure.ossc...
(今回は、トラブル続きで、[[動画の編集>https://dotnetdeve...
***動画 [#l7293a27]
-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 / O...
を行います。
***準備 [#n0c14408]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#ue8dea11]]の事前実施
***デモ [#ue8dea11]
https://github.com/OpenTouryoProject
-「Open棟梁」の本体側のビルド
--クローン~
[[OpenTouryo>https://github.com/OpenTouryoProject/OpenTou...
--ビルド~
[[OpenTouryo(develop)>https://github.com/OpenTouryoProjec...
--実行~
[[7/10 セルフZoom部会>#ta3fd0be]]
-「Open棟梁」のOAuth2 / OIDCアーキテクチャ対応版のデモと...
--クローン
---[[MultiPurposeAuthSite>https://github.com/OpenTouryoPr...
---[[ResourceServerTemplates>https://github.com/OpenToury...
---[[FrontendTemplates>https://github.com/OpenTouryoProje...
--ビルド
---MultiPurposeAuthSite
---ResourceServerTemplates
---FrontendTemplates
--設定
---ファイルの配置
---configファイルの設定
--実行
---サーバー起動~
・MultiPurposeAuthSite~
・ResourceServerTemplates~
---クライアント起動と実行~
・FrontendTemplates~
・MVC_Sample~
***結果 [#v328e38c]
「Open棟梁」の
-本体側のビルド手順も無事にデモできました。
-OAuth2 / OIDCアーキテクチャ対応版については、
--未開示のモバイル対応以外は、まぁ、ボチボチ動きますよと。
--今後、これを、コンテナ化して、Keycloakとコンパチしてい...
***動画 [#db93537f]
-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 Authentica...
***準備 [#pec882d5]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#d2af4c3a]]の事前実施
***デモ [#d2af4c3a]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
-OIDC の Authorization Code Flowで連携~
→ [[Client上での id_Token の検証>https://dotnetdevelopmen...
-OIDC でない PKCE 4 SPAで連携~
→ [[Resource Server上での access_token の検証>https://dot...
***結果 [#ncccb198]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
***動画 [#z312592c]
-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://techinfo...
-[[デモ内容>#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...
---D層自動生成は、各アプリケーション編で説明
---動的パラメタライズド・クエリ分析ツール編
---テーブル・メンテナンス画面自動生成編
***結果 [#o2b47864]
-動画化により、無事、説明の手離れができた。
-.NET Core 3.1での動作検証もできた。
***動画 [#m6021280]
-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 scree...
---(1) : https://www.youtube.com/watch?v=kBT8QnSI0SI
---(2) : https://www.youtube.com/watch?v=sjNvBNAKrgc
**7/29 セルフZoom部会(第6回) [#g50b14e7]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
***準備 [#j6337435]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#d56f8800]]の事前実施
***デモ [#d56f8800]
-[[クローン&ビルド>#n79cc0a7]]
-[[config>汎用認証サイトのコンフィギュレーション]]
--[[.NET Framework版>https://github.com/OpenTouryoProject...
--[[.NET Core版>https://github.com/OpenTouryoProject/Mult...
-機能説明
--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 Authentic...
-IdP機能(ASP.NET Identity)
-STS機能(Open棟梁拡張)
--各種認証フロー
--metadata(configuration)
***動画 [#q83dab4d]
-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/NetDevInfraWGinOSSCon...
-新Organization&Repository公開、Linux開発環境等。 - OSS...
https://www.osscons.jp/joez0yt30-537/
***準備 [#ec6aa41b]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#dd40c609]]の事前実施
***デモ [#dd40c609]
[[Organization>https://github.com/NetDevInfraWGinOSSConso...
-[[LocalServicesOnDocker>https://github.com/NetDevInfraWG...
--クローンして実行
--コンテンツの説明
-[[MVCSampleOnDocker>https://github.com/NetDevInfraWGinOS...
--クローンして実行
--コンテンツの説明
***結果 [#eef4725a]
新リポジトリ群のコンセプトを理解した。
-コンテナを使って生産性の向上が可能。
-開発環境用と実行環境用のDockerfileは異なる。
-工程毎のコンテナ環境は、
--ビルド・プロセスの調整と
--コンテナ・レジストリに
>よって達成される。
-OAuth2/OIDCアーキテクチャなどの、~
複雑、且つ、高難易度の開発も容易化できる。
***動画 [#a81130dc]
-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....
-[["\OpenTouryoTemplates\z_CICD.bat">https://github.com/O...
***結果 [#p3e58469]
-CI/CDの慣例に従っていなくても、~
プロダクト特性に合わせて、チューニングされたCI/CDで良い。
-「みんなちがって、みんないい。」(金子みすゞ)と言う事が...
-参考
--Open 棟梁 プロジェクトの、省力・省人・少人化による、コ...
https://www.slideshare.net/daisukenishino/open-111086067
***動画 [#e212b563]
-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上の成...
***準備 [#y6fc4d4f]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#v6677b20]]の事前実施
***デモ [#v6677b20]
-起動
--[[LocalServicesOnDocker>https://dotnetdevelopmentinfras...
--[[MVCSampleOnDocker>https://dotnetdevelopmentinfrastruc...
--[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinf...
-実行
--Confidential Client : MVC
--Public Client : SPA
-開発~
MVCSampleOnDockerを、IIS Expressで実行。
-ポイント
--前回動画と同じコンテナのチェーンを実現~
正確には、コンテナによる環境のチェーン
--その他
---段階毎の構成変更が色々と大変。
---Visual Studio の生成した .NET Core の Dockerfileが色々...
---log4netのLoggerの件、直しました(Appenderを追加)。
---Chrome の Cookie周辺の話しは、SameSite属性の件だった。
-参考
--各種 Wiki
---[[コンテナのチェーン>https://techinfoofmicrosofttech.o...
---[[特定のポートが開いているかどうか確認する。>https://t...
---[[.NET CoreのDockerfile>https://techinfoofmicrosofttec...
---[[コンテナ化する際の設定ポリシー>https://dotnetdevelop...
--OSSコンソーシアム Blog
---SameSite属性どころか、HTTP自体がダメになってた件(Cook...
https://www.osscons.jp/jov9t04kz-537/
***結果 [#qf549916]
[[Open棟梁 for OAuth2 / OIDC>#n79cc0a7]]のような、高度な...
Dockerコンテナと、コンテナ・オーケストレータであるDocker...
開発環境構築を簡素化し、生産性の大幅な向上を図っている点...
***動画 [#f3e396bf]
-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にアップロード
--第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://dotnetdevelopmentin...
***準備 [#g19b9aff]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
前述の「Linux開発環境」を使用する。
-[[デモ内容>#k4f4c393]]の事前実施
***デモ [#k4f4c393]
[[8/12 セルフZoom部会(第9回)>#l8b260ed]]の内容を前述の...
-起動
--[[LocalServicesOnDocker>https://dotnetdevelopmentinfras...
--[[MVCSampleOnDocker>https://dotnetdevelopmentinfrastruc...
--[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinf...
-開発~
MVCSampleOnDockerを、[[Visual Studio Code>https://techinf...
--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.o...
(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 > 全部ほにゃ...
--why i cant login with sa · Issue #55 · microsoft/mssql-...
https://github.com/microsoft/mssql-docker/issues/55
--VSCodeを使用してroot権限でデバッグ実行する | Developers...
https://dev.classmethod.jp/articles/vscode-sudo-debug/
***結果 [#w380208d]
Linuxでの.NET開発も、~
ボチボチ、出来そうですね。
***動画 [#f761c66a]
-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 Authentica...
***準備 [#rd91d4cf]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#y88bc6ee]]の事前実施
***デモ [#y88bc6ee]
[[8/12 セルフZoom部会(第11回)>#l8b260ed]]で使用したコン...
-起動
--[[LocalServicesOnDocker>https://dotnetdevelopmentinfras...
--[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinf...
-Hybrid-IdP(ID連携)~
--修正ポイント
---appsettings.jsonのコンフィグ~
・[[パラメタ置換機能>Docker対応#jf6957a9]]を有効化するス...
OAuth2OidcArchitOnDockerのMultiPurposeAuthSiteCoreにコ...
・「各種Cookie名」と「RedisのDataProtectionに設定するAppl...
の衝突問題の解決のために、パラメタをConfig可能にしてコ...
https://twitter.com/openhishopjpo/status/13247248031068...
// appSettings section
"appSettings": {
// Webサービス用
"Azure": "MultiPurposeAuthSiteCore",
"FxContainerization": "ON",
// Session周辺の問題対策
"FxSessionCookieName": "MultiPurposeAuthSiteCoreSessio...
"FxApplicationName": "MultiPurposeAuthSiteCore",
・以下の、[id_federation_endpoint]に固定値を設定。~
"06d20f595b694114b710c1d85e21bb8e": {
"client_secret": "ld47EVKDDkxleIup7Z0UQ1rVy_IR4q3lXamy...
"redirect_uri_code": "[id_federation_endpoint]",
"redirect_uri_token": "-",
"client_name": "IdFederation"
},
---IdPのコンフィグ~
コンテナ化後の[[redirect_uri(2つ目)を、各IdPに追加>汎...
・https://localhost:44300/MultiPurposeAuthSite/signin-xxxx~
・https://localhost:44300/signin-xxxx ← コレを追加
--以下が、必要なDocker Composeの定義
---連携元~
以下を「multipurposeauthsitecore - environment」に追加~
(XXXXXには、別途、実際の値の取得と設定が必要)
multipurposeauthsitecore1:
image: osscjpdevinfra/multipurposeauthsitecore:OAuth2...
environment:
- UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
- RedisConfig=redis
- RedisInstanceName=redis
- ASPNETCORE_Kestrel__Certificates__Default__Passwo...
- ASPNETCORE_Kestrel__Certificates__Default__Path=/...
- ConnectionString_SQL=Data Source=sqlserver;Initia...
- ConnectionString_MCN=Server=mysql;Database=test;U...
- ConnectionString_NPS=HOST=postgres;DATABASE=postg...
-------------------- 以下を追加 --------------------
- FxSessionCookieName=MultiPurposeAuthSiteCoreSessi...
- 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:4...
- IdFederationTokenEndPoint=http://multipurposeauth...
- IdFederationUserInfoEndPoint=http://multipurposea...
----------------------------------------------------
ports:
- "44300:5001"
networks:
- common_link
---連携先~
以下の「multipurposeauthsitecore2」serviceを追加
multipurposeauthsitecore2:
image: osscjpdevinfra/multipurposeauthsitecore:OAuth2...
environment:
- UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
- RedisConfig=redis
- RedisInstanceName=redis
- ASPNETCORE_Kestrel__Certificates__Default__Passwo...
- ASPNETCORE_Kestrel__Certificates__Default__Path=/...
- ConnectionString_SQL=Data Source=sqlserver;Initia...
- ConnectionString_MCN=Server=mysql;Database=test;U...
- ConnectionString_NPS=HOST=postgres;DATABASE=postg...
- FxSessionCookieName=MultiPurposeAuthSiteCoreSessi...
- 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にアップロード
--第12回 部会 コンテナを使用した~
汎用認証サイトの外部ログイン系機能評価~
https://www.youtube.com/watch?v=O0r4TBjT5HA
-OSSコンソーシアム Blogにも掲載
--第12回 部会 コンテナを使用した~
汎用認証サイトの外部ログイン系機能評価~
https://www.osscons.jp/jon8xgvc4-537/
**11/15 セルフZoom部会(第13回) [#fd1f6676]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
***準備 [#ved7b193]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#vd686987]]の事前実施
***デモ [#vd686987]
-概要~
以下の様なデモンストレーションを実施する。
--[[FAPI1>https://techinfoofmicrosofttech.osscons.jp/inde...
---[[Confidential Client>https://techinfoofmicrosofttech....
---[[Public Client>https://techinfoofmicrosofttech.osscon...
--[[FAPI2>https://techinfoofmicrosofttech.osscons.jp/inde...
---[[Confidential Client>https://techinfoofmicrosofttech....
---[[Public Client>https://techinfoofmicrosofttech.osscon...
---[[FAPI-CIBA(AD無しモード)>https://techinfoofmicrosof...
-詳細
--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スタック構成方法が不明(...
--自身へのTokenリクエストが上手く処理できない課題を発見。
---BrowserのRedirectでは、localhostが使用可能。
---コンテナ内のWebAPI呼出では、localhostが使用不可能。
--クローン&ビルド、configは、[[6/19 セルフZoom部会(第3...
***結果 [#s17b950a]
-まぁまぁ、動かせたが、結構大変。
-一部、コードの修正が必要だった。
--Same Site Cookie対応
--RequestObject の redirect_uri 設定(テストコード)
***動画 [#j63e561f]
-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ブラ...
https://github.com/OpenTouryoProject/OpenTouryoTemplates/...
-[[以前の動画>#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"> に変更する。
--デスクトップに対する変更の例外
---以下プロジェクトの、参照設定先フォルダを変更しない(ne...
・CS\Frameworks\Infrastructure\Business\RichClient~
・CS\Frameworks\Infrastructure\CustomControl\RichClient
---以下プロジェクト中のWSIFType_sample、WSServer_sampleに...
参照設定先フォルダを変更しない(net5.0-windowsではなくnet...
CS\Samples4NetCore\Legacy\WS_sample\WSClient_sample\WSCli...
***デモ [#kcdbcafa]
.NET5.0のビルド&結果のデモ(下記の動画を参照)。
***結果 [#z50195d2]
-ビルド&MVC、3層C/Sで動作ができた。
-割と大きめな破壊的変更を発見した。
--破壊的変更の内容~
[[BinaryFormatter シリアル化メソッドが古い形式になり、ASP...
--エラーメッセージ
NotSupportedException: BinaryFormatter serialization and...
--取り敢えず以下を追加することで対応できる。
<EnableUnsafeBinaryFormatterSerialization>true</EnableUn...
--以下のようにあるので、~
「コンシューマーの"責任"で使用すれば良いのでは?」~
という気もする。
BinaryFormatter を利用するかどうかの判断に関する責任は、...
コンシューマーは、BinaryFormatter の使用に関するセキュリ...
※ 動向をウォッチして何処かで判断が必要。
***動画 [#uf75f850]
-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://dotnetdevelopmentinf...
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>FrontPage]]
--[[部会メモ(2020年)>#qba10194]]
--[[部会メモ(2021年)]]
--[[部会メモ(2022年)]]
--[[部会メモ(2023年)]]
*目次 [#l898b156]
#contents
*概要 [#m1142774]
-部会開催メモ
--計画
--実施内容
--コンテンツ
-当ページの探し方~
「[[Open棟梁 Wiki 部会メモ>https://www.google.com/search?...
*詳細(2020年 [#qba10194]
**5/21 オンライン部会(第0回) [#je679acb]
「Open棟梁」のビルドを通すデモと雑談
***準備 [#ba542c26]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-環境の準備~
--[[構成概要>https://dotnetdevelopmentinfrastructure.ossc...
--[[構成動画(おまけ動画)>#l7293a27]]
--Visual Studio は、Code と 2019のみインストール。
-デモ内容の事前実施
--[[Download .NET SDKs for Visual Studio>https://dotnet.m...
---[[.NET 4.7 Developer Pack>https://dotnet.microsoft.com...
---[[.NET 4.8 Developer Pack>https://dotnet.microsoft.com...
***デモ [#qf0398a0]
-プログラムの取得
--本体のGitクローン~
https://github.com/OpenTouryoProject/OpenTouryo
--テンプレートのダウンロードZIP~
https://github.com/OpenTouryoProject/OpenTouryoTemplates
>すいません、今回、利用のバージョンは02-60なので、正確に...
テンプレートは、以下のURLからダウンロードZIPして下さい。~
https://github.com/OpenTouryoProject/OpenTouryoTemplates/...
-Docker系~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
--開発環境~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
--Docker化されたMVCの実行~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
-修正・変更
--ビルドツールへのパスの調整
--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 > 全部ほにゃ...
-ビルド・実行
--テンプレートの
---C#~
・MVC~
・MVC Core
---VB~
・Web Forms~
・Win Forms(3C/S)
--本体
---C#
---NuGet
>※ パスの問題があるので、テンプレートはCドラ直下に配置。
-調整
--Npgsqlの依存関係が引けてない。
--例外の動作の変更が必要になる。~
https://twitter.com/openhishopjpo/status/1260514188184567...
-チュートリアル~
ココまで出来たら、チュートリアルに進むことが出来る。~
https://github.com/OpenTouryoProject/OpenTouryo/wiki/Home...
***雑談 [#y532cce6]
-テーマ等は特に定めない。
-録画するので固有名詞は注意。
***動画 [#l0d64806]
-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...
「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/EvaluateAspNetCoreOn...
--https://github.com/daisukenishino2/EvaluateAspNetCoreOn...
-説明が漏れましたが、
--開発環境は、[[前回に使用した環境>#ba542c26]]と同じです。
--MVC_Sampleは、0_ExecAllBat.batを実行すれば基礎となるビ...
-その他の参考情報
--マイクロソフト系技術情報 Wiki
---[[Docker for Windowsのネットワーク設定>https://techinf...
---[[VS Tools for Dockerを使用せず、単体使いを研究する。>...
--[[Dockerのネットワーク設定 - 開発基盤部会 Wiki>https://...
***デモ [#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...
OK!
...
>route delete 10.0.75.1 mask xxx.xxx.xxx.xxx
OK!
※ [[最新の環境では変更されている。>https://techinfoofmicr...
--コンテナを起動する。
---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 ...
dotnetapp-dev latest ...
--下記を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...
- ${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へのリフト前~
ステージング・プロダクション環境にデプロイ前のチェックは...
-参考:[[コンテナのチェーン - マイクロソフト系技術情報 Wi...
***動画 [#g5f9c703]
-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.sl...
--自己紹介
--プロジェクト
---開発基盤開発
---プロモーション
---マーケティング
--フレームワークとか、ツールとか。
---[[開発支援ツールの種類>https://www.google.com/search?q...
---[[Dry (Don‘t repeat yourself)>https://dotnetdevelopmen...
---とは言え「[[標準化(PM用語)>https://dotnetdevelopment...
--AS-IS と TO-BE
---SIって良くない側面あるよね。
---OSS化 → プロモーション
---マーケティング → Web → DX
-Open棟梁 v02-00
--[[概要説明>https://www.slideshare.net/daisukenishino/op...
--[[機能紹介>https://www.slideshare.net/daisukenishino/op...
-参考
--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にアップロード
--第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://techinfo...
--[[EvaluateAspNetCoreOnDocker/LocalServices>https://gith...
-[[VS Tools for Docker>https://techinfoofmicrosofttech.os...
--Dockerの生成と実行
--Docker Composeの生成と実行
-[[単体使い>https://techinfoofmicrosofttech.osscons.jp/in...
--Dockerの生成と実行
--Docker Composeの生成と実行~
&color(red){動画中でハマってた所、Docker Composeに書かれ...
-[[応用例>#qc778622]]
-[[ローカルK8s>https://techinfoofmicrosofttech.osscons.jp...
***結果 [#cecfa277]
ローカルK8sのダッシュボード以外は無事動作。
***動画 [#j2c4d31e]
-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...
-あと、以前から使用している[[コチラ>#ba542c26]]の環境の構...
***準備 [#c3b0a718]
-クラウドなどにVMを準備
-GitHubのアカウントを作成しておく。
-[[デモ内容>#z47896c7]]の事前実施
***デモ [#z47896c7]
操作説明。
-インストール
--[[Git for Windows>https://dotnetdevelopmentinfrastructu...
--[[TortoiseGit>https://dotnetdevelopmentinfrastructure.o...
--[[WinMerge>https://dotnetdevelopmentinfrastructure.ossc...
--[[サクラエディタ>https://dotnetdevelopmentinfrastructur...
--各種設定等
-準備
--GitHub
---でリポジトリを作成
---のリポジトリをクローン
--ファイルの追加
---AAA(更新用1)
---BBB(削除用1)
---CCC(更新用2)
---DDD(削除用2)
---EEE(コンフリクト用)
--コミット&プッシュ
--GitHub上で変更を確認する。
-操作
--Developブランチを作成
--Masterブランチ
---ファイルの更新と削除
---コミット&プッシュ
---GitHub上で変更を確認する。
--Developブランチ
---ファイルの更新と削除
---コミット&プッシュ
---GitHub上で変更を確認する。
--プルリクエストの実行
-コンフリクトの
--ブランチAの更新
--ブランチBの更新
--プルリクエストの実行
--コンフリクトの解消とマージ
-おまけ
--[[WSL>https://dotnetdevelopmentinfrastructure.osscons.j...
---インストール
---テスト利用
--[[Docker>https://dotnetdevelopmentinfrastructure.osscon...
---インストール
---テスト利用
***結果 [#pfce6abc]
コロナで、今更、
-[[Git>https://dotnetdevelopmentinfrastructure.osscons.jp...
--[[Git>https://dotnetdevelopmentinfrastructure.osscons.j...
もちろん、[[こんな感じ>https://techinfoofmicrosofttech.os...
--SIでは敬遠される部分もありますが、[[コチラ>https://dotn...
SI運用を検討することで、SIでも十分、採用できるかと思いま...
-序に、[[WSL>https://dotnetdevelopmentinfrastructure.ossc...
(今回は、トラブル続きで、[[動画の編集>https://dotnetdeve...
***動画 [#l7293a27]
-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 / O...
を行います。
***準備 [#n0c14408]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#ue8dea11]]の事前実施
***デモ [#ue8dea11]
https://github.com/OpenTouryoProject
-「Open棟梁」の本体側のビルド
--クローン~
[[OpenTouryo>https://github.com/OpenTouryoProject/OpenTou...
--ビルド~
[[OpenTouryo(develop)>https://github.com/OpenTouryoProjec...
--実行~
[[7/10 セルフZoom部会>#ta3fd0be]]
-「Open棟梁」のOAuth2 / OIDCアーキテクチャ対応版のデモと...
--クローン
---[[MultiPurposeAuthSite>https://github.com/OpenTouryoPr...
---[[ResourceServerTemplates>https://github.com/OpenToury...
---[[FrontendTemplates>https://github.com/OpenTouryoProje...
--ビルド
---MultiPurposeAuthSite
---ResourceServerTemplates
---FrontendTemplates
--設定
---ファイルの配置
---configファイルの設定
--実行
---サーバー起動~
・MultiPurposeAuthSite~
・ResourceServerTemplates~
---クライアント起動と実行~
・FrontendTemplates~
・MVC_Sample~
***結果 [#v328e38c]
「Open棟梁」の
-本体側のビルド手順も無事にデモできました。
-OAuth2 / OIDCアーキテクチャ対応版については、
--未開示のモバイル対応以外は、まぁ、ボチボチ動きますよと。
--今後、これを、コンテナ化して、Keycloakとコンパチしてい...
***動画 [#db93537f]
-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 Authentica...
***準備 [#pec882d5]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#d2af4c3a]]の事前実施
***デモ [#d2af4c3a]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
-OIDC の Authorization Code Flowで連携~
→ [[Client上での id_Token の検証>https://dotnetdevelopmen...
-OIDC でない PKCE 4 SPAで連携~
→ [[Resource Server上での access_token の検証>https://dot...
***結果 [#ncccb198]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
***動画 [#z312592c]
-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://techinfo...
-[[デモ内容>#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...
---D層自動生成は、各アプリケーション編で説明
---動的パラメタライズド・クエリ分析ツール編
---テーブル・メンテナンス画面自動生成編
***結果 [#o2b47864]
-動画化により、無事、説明の手離れができた。
-.NET Core 3.1での動作検証もできた。
***動画 [#m6021280]
-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 scree...
---(1) : https://www.youtube.com/watch?v=kBT8QnSI0SI
---(2) : https://www.youtube.com/watch?v=sjNvBNAKrgc
**7/29 セルフZoom部会(第6回) [#g50b14e7]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
***準備 [#j6337435]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#d56f8800]]の事前実施
***デモ [#d56f8800]
-[[クローン&ビルド>#n79cc0a7]]
-[[config>汎用認証サイトのコンフィギュレーション]]
--[[.NET Framework版>https://github.com/OpenTouryoProject...
--[[.NET Core版>https://github.com/OpenTouryoProject/Mult...
-機能説明
--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 Authentic...
-IdP機能(ASP.NET Identity)
-STS機能(Open棟梁拡張)
--各種認証フロー
--metadata(configuration)
***動画 [#q83dab4d]
-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/NetDevInfraWGinOSSCon...
-新Organization&Repository公開、Linux開発環境等。 - OSS...
https://www.osscons.jp/joez0yt30-537/
***準備 [#ec6aa41b]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#dd40c609]]の事前実施
***デモ [#dd40c609]
[[Organization>https://github.com/NetDevInfraWGinOSSConso...
-[[LocalServicesOnDocker>https://github.com/NetDevInfraWG...
--クローンして実行
--コンテンツの説明
-[[MVCSampleOnDocker>https://github.com/NetDevInfraWGinOS...
--クローンして実行
--コンテンツの説明
***結果 [#eef4725a]
新リポジトリ群のコンセプトを理解した。
-コンテナを使って生産性の向上が可能。
-開発環境用と実行環境用のDockerfileは異なる。
-工程毎のコンテナ環境は、
--ビルド・プロセスの調整と
--コンテナ・レジストリに
>よって達成される。
-OAuth2/OIDCアーキテクチャなどの、~
複雑、且つ、高難易度の開発も容易化できる。
***動画 [#a81130dc]
-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....
-[["\OpenTouryoTemplates\z_CICD.bat">https://github.com/O...
***結果 [#p3e58469]
-CI/CDの慣例に従っていなくても、~
プロダクト特性に合わせて、チューニングされたCI/CDで良い。
-「みんなちがって、みんないい。」(金子みすゞ)と言う事が...
-参考
--Open 棟梁 プロジェクトの、省力・省人・少人化による、コ...
https://www.slideshare.net/daisukenishino/open-111086067
***動画 [#e212b563]
-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上の成...
***準備 [#y6fc4d4f]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#v6677b20]]の事前実施
***デモ [#v6677b20]
-起動
--[[LocalServicesOnDocker>https://dotnetdevelopmentinfras...
--[[MVCSampleOnDocker>https://dotnetdevelopmentinfrastruc...
--[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinf...
-実行
--Confidential Client : MVC
--Public Client : SPA
-開発~
MVCSampleOnDockerを、IIS Expressで実行。
-ポイント
--前回動画と同じコンテナのチェーンを実現~
正確には、コンテナによる環境のチェーン
--その他
---段階毎の構成変更が色々と大変。
---Visual Studio の生成した .NET Core の Dockerfileが色々...
---log4netのLoggerの件、直しました(Appenderを追加)。
---Chrome の Cookie周辺の話しは、SameSite属性の件だった。
-参考
--各種 Wiki
---[[コンテナのチェーン>https://techinfoofmicrosofttech.o...
---[[特定のポートが開いているかどうか確認する。>https://t...
---[[.NET CoreのDockerfile>https://techinfoofmicrosofttec...
---[[コンテナ化する際の設定ポリシー>https://dotnetdevelop...
--OSSコンソーシアム Blog
---SameSite属性どころか、HTTP自体がダメになってた件(Cook...
https://www.osscons.jp/jov9t04kz-537/
***結果 [#qf549916]
[[Open棟梁 for OAuth2 / OIDC>#n79cc0a7]]のような、高度な...
Dockerコンテナと、コンテナ・オーケストレータであるDocker...
開発環境構築を簡素化し、生産性の大幅な向上を図っている点...
***動画 [#f3e396bf]
-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にアップロード
--第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://dotnetdevelopmentin...
***準備 [#g19b9aff]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
前述の「Linux開発環境」を使用する。
-[[デモ内容>#k4f4c393]]の事前実施
***デモ [#k4f4c393]
[[8/12 セルフZoom部会(第9回)>#l8b260ed]]の内容を前述の...
-起動
--[[LocalServicesOnDocker>https://dotnetdevelopmentinfras...
--[[MVCSampleOnDocker>https://dotnetdevelopmentinfrastruc...
--[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinf...
-開発~
MVCSampleOnDockerを、[[Visual Studio Code>https://techinf...
--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.o...
(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 > 全部ほにゃ...
--why i cant login with sa · Issue #55 · microsoft/mssql-...
https://github.com/microsoft/mssql-docker/issues/55
--VSCodeを使用してroot権限でデバッグ実行する | Developers...
https://dev.classmethod.jp/articles/vscode-sudo-debug/
***結果 [#w380208d]
Linuxでの.NET開発も、~
ボチボチ、出来そうですね。
***動画 [#f761c66a]
-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 Authentica...
***準備 [#rd91d4cf]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#y88bc6ee]]の事前実施
***デモ [#y88bc6ee]
[[8/12 セルフZoom部会(第11回)>#l8b260ed]]で使用したコン...
-起動
--[[LocalServicesOnDocker>https://dotnetdevelopmentinfras...
--[[OAuth2OidcArchitOnDocker>https://dotnetdevelopmentinf...
-Hybrid-IdP(ID連携)~
--修正ポイント
---appsettings.jsonのコンフィグ~
・[[パラメタ置換機能>Docker対応#jf6957a9]]を有効化するス...
OAuth2OidcArchitOnDockerのMultiPurposeAuthSiteCoreにコ...
・「各種Cookie名」と「RedisのDataProtectionに設定するAppl...
の衝突問題の解決のために、パラメタをConfig可能にしてコ...
https://twitter.com/openhishopjpo/status/13247248031068...
// appSettings section
"appSettings": {
// Webサービス用
"Azure": "MultiPurposeAuthSiteCore",
"FxContainerization": "ON",
// Session周辺の問題対策
"FxSessionCookieName": "MultiPurposeAuthSiteCoreSessio...
"FxApplicationName": "MultiPurposeAuthSiteCore",
・以下の、[id_federation_endpoint]に固定値を設定。~
"06d20f595b694114b710c1d85e21bb8e": {
"client_secret": "ld47EVKDDkxleIup7Z0UQ1rVy_IR4q3lXamy...
"redirect_uri_code": "[id_federation_endpoint]",
"redirect_uri_token": "-",
"client_name": "IdFederation"
},
---IdPのコンフィグ~
コンテナ化後の[[redirect_uri(2つ目)を、各IdPに追加>汎...
・https://localhost:44300/MultiPurposeAuthSite/signin-xxxx~
・https://localhost:44300/signin-xxxx ← コレを追加
--以下が、必要なDocker Composeの定義
---連携元~
以下を「multipurposeauthsitecore - environment」に追加~
(XXXXXには、別途、実際の値の取得と設定が必要)
multipurposeauthsitecore1:
image: osscjpdevinfra/multipurposeauthsitecore:OAuth2...
environment:
- UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
- RedisConfig=redis
- RedisInstanceName=redis
- ASPNETCORE_Kestrel__Certificates__Default__Passwo...
- ASPNETCORE_Kestrel__Certificates__Default__Path=/...
- ConnectionString_SQL=Data Source=sqlserver;Initia...
- ConnectionString_MCN=Server=mysql;Database=test;U...
- ConnectionString_NPS=HOST=postgres;DATABASE=postg...
-------------------- 以下を追加 --------------------
- FxSessionCookieName=MultiPurposeAuthSiteCoreSessi...
- 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:4...
- IdFederationTokenEndPoint=http://multipurposeauth...
- IdFederationUserInfoEndPoint=http://multipurposea...
----------------------------------------------------
ports:
- "44300:5001"
networks:
- common_link
---連携先~
以下の「multipurposeauthsitecore2」serviceを追加
multipurposeauthsitecore2:
image: osscjpdevinfra/multipurposeauthsitecore:OAuth2...
environment:
- UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
- RedisConfig=redis
- RedisInstanceName=redis
- ASPNETCORE_Kestrel__Certificates__Default__Passwo...
- ASPNETCORE_Kestrel__Certificates__Default__Path=/...
- ConnectionString_SQL=Data Source=sqlserver;Initia...
- ConnectionString_MCN=Server=mysql;Database=test;U...
- ConnectionString_NPS=HOST=postgres;DATABASE=postg...
- FxSessionCookieName=MultiPurposeAuthSiteCoreSessi...
- 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にアップロード
--第12回 部会 コンテナを使用した~
汎用認証サイトの外部ログイン系機能評価~
https://www.youtube.com/watch?v=O0r4TBjT5HA
-OSSコンソーシアム Blogにも掲載
--第12回 部会 コンテナを使用した~
汎用認証サイトの外部ログイン系機能評価~
https://www.osscons.jp/jon8xgvc4-537/
**11/15 セルフZoom部会(第13回) [#fd1f6676]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentica...
***準備 [#ved7b193]
-Zoomのスケジュール~
(まだ、一般募集は無し)
-開発環境の説明~
[[前回に使用した環境>#ba542c26]]と同じ。
-[[デモ内容>#vd686987]]の事前実施
***デモ [#vd686987]
-概要~
以下の様なデモンストレーションを実施する。
--[[FAPI1>https://techinfoofmicrosofttech.osscons.jp/inde...
---[[Confidential Client>https://techinfoofmicrosofttech....
---[[Public Client>https://techinfoofmicrosofttech.osscon...
--[[FAPI2>https://techinfoofmicrosofttech.osscons.jp/inde...
---[[Confidential Client>https://techinfoofmicrosofttech....
---[[Public Client>https://techinfoofmicrosofttech.osscon...
---[[FAPI-CIBA(AD無しモード)>https://techinfoofmicrosof...
-詳細
--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スタック構成方法が不明(...
--自身へのTokenリクエストが上手く処理できない課題を発見。
---BrowserのRedirectでは、localhostが使用可能。
---コンテナ内のWebAPI呼出では、localhostが使用不可能。
--クローン&ビルド、configは、[[6/19 セルフZoom部会(第3...
***結果 [#s17b950a]
-まぁまぁ、動かせたが、結構大変。
-一部、コードの修正が必要だった。
--Same Site Cookie対応
--RequestObject の redirect_uri 設定(テストコード)
***動画 [#j63e561f]
-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ブラ...
https://github.com/OpenTouryoProject/OpenTouryoTemplates/...
-[[以前の動画>#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"> に変更する。
--デスクトップに対する変更の例外
---以下プロジェクトの、参照設定先フォルダを変更しない(ne...
・CS\Frameworks\Infrastructure\Business\RichClient~
・CS\Frameworks\Infrastructure\CustomControl\RichClient
---以下プロジェクト中のWSIFType_sample、WSServer_sampleに...
参照設定先フォルダを変更しない(net5.0-windowsではなくnet...
CS\Samples4NetCore\Legacy\WS_sample\WSClient_sample\WSCli...
***デモ [#kcdbcafa]
.NET5.0のビルド&結果のデモ(下記の動画を参照)。
***結果 [#z50195d2]
-ビルド&MVC、3層C/Sで動作ができた。
-割と大きめな破壊的変更を発見した。
--破壊的変更の内容~
[[BinaryFormatter シリアル化メソッドが古い形式になり、ASP...
--エラーメッセージ
NotSupportedException: BinaryFormatter serialization and...
--取り敢えず以下を追加することで対応できる。
<EnableUnsafeBinaryFormatterSerialization>true</EnableUn...
--以下のようにあるので、~
「コンシューマーの"責任"で使用すれば良いのでは?」~
という気もする。
BinaryFormatter を利用するかどうかの判断に関する責任は、...
コンシューマーは、BinaryFormatter の使用に関するセキュリ...
※ 動向をウォッチして何処かで判断が必要。
***動画 [#uf75f850]
-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://dotnetdevelopmentinf...
ページ名: