「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>汎用認証サイト(Multi-purpose Authentication Site)]] *目次 [#x2b68430] #contents *概要 [#xa63971f] FAQについてまとめた。 *詳細 [#d2580355] **パスワード要件 [#y27b4d38] ***基本 [#n0c5e422] 基本[[ココ>https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L129]]で制限できますが、 ココで制限せずに、 -サインアップや -パスワード変更画面 のUP側の実装で制限することも出来ます。 ***拡張 [#s781e44b] -ユーザID、生年月日と一致しない -p@ssw0rdなどの定番パスワード を弾く実装は別途必要になります。 **パスワード・ハッシュ [#n4c44083] ハッシュア・ルゴリズムは変えてもらってOKです。 既定([[V1HashAlgorithm>https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/Models/ASPNETIdentity/Manager/CustomPasswordHasher.cs#L74]])では、 /// <summary>Version 1</summary> /// <param name="password">password</param> /// <returns>hashPassword</returns> private string V1HashAlgorithm(string password) { // $1$ バージョンの実装 return "$1$" + "." + GetKeyedHash.GetSaltedPassword( password, // password EnumKeyedHashAlgorithm.MACTripleDES, // algorithm GetPassword.Generate(10, 3), // key(pwd) 10, // salt length ASPNETIdentityConfig.StretchCount // stretch count ); } としており、 ココの[[GetKeyedHash.GetSaltedPassword>https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/GetKeyedHash.cs#L144]]では、 >「key」.「saltByteのBase64」.「stretchCount」.「salt + rawPasswordをGetKeyedHashStringしたもの」 という文字列を返すので、最終的には、 という(Base64Url)文字列を返すので、最終的には、 >「$1$」.「key」.「saltByteのBase64」.「stretchCount」.「salt + rawPasswordのGetKeyedHashString」 と言う文字列になり、これにより、 VerifyHashedPasswordの時に、 >「$1$」.「key」.「saltByteのBase64」.「stretchCount」.「Password Hash」 の情報を見て、Raw Passwordの検証が可能になっています。 なお、「$1$」は、V1HashAlgorithmのV1に対応しています。~ EnumKeyedHashAlgorithmの何を使用しているか?は、$1$=V1に紐付けられます。 この処理は、Javaでも実装可能と思います。 **メール中のURLの有効期限 [#vb152ad4] 以下のように変更後の再利用は不可能です。~ ※ 画面自体は表示されるが変更エラーになります。 #ref(UrlInEmail.png,left,nowrap,確認メールの有効期限,60%) app.configの >EmailConfirmationTokenLifespanFromHours が有効期限として効いているものと思われます。 この値は、 >ApplicationUserManager で設定されています。 *参考 [#q7fbe6db] **マイクロソフト系技術情報 Wiki [#uae02317] -OAuth / OpenID Connectによる課題解決~ https://techinfoofmicrosofttech.osscons.jp/index.php?OAuth%20%2F%20OpenID%20Connect%E3%81%AB%E3%82%88%E3%82%8B%E8%AA%B2%E9%A1%8C%E8%A7%A3%E6%B1%BA IP:202.246.252.97 TIME:"2018-06-04 (月) 10:00:25" REFERER:"https://opentouryo.osscons.jp/index.php?cmd=edit&page=%E6%B1%8E%E7%94%A8%E8%AA%8D%E8%A8%BC%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AEFAQ" USER_AGENT:"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"