「[[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"