//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth { using System.Diagnostics.CodeAnalysis; /// /// The different formats a user authorization verifier code can take /// in order to be as secure as possible while being compatible with /// the type of OAuth Consumer requesting access. /// /// /// Some Consumers may be set-top boxes, video games, mobile devies, etc. /// with very limited character entry support and no ability to receive /// a callback URI. OAuth 1.0a requires that these devices operators /// must manually key in a verifier code, so in these cases it better /// be possible to do so given the input options on that device. /// public enum VerificationCodeFormat { /// /// The strongest verification code. /// The best option for web consumers since a callback is usually an option. /// IncludedInCallback, /// /// A combination of upper and lowercase letters and numbers may be used, /// allowing a computer operator to easily read from the screen and key /// in the verification code. /// /// /// Some letters and numbers will be skipped where they are visually similar /// enough that they can be difficult to distinguish when displayed with most fonts. /// [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Alikes", Justification = "Breaking change of existing API")] [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "AlphaNumeric", Justification = "Breaking change of existing API")] [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "LookAlikes", Justification = "Breaking change of existing API")] AlphaNumericNoLookAlikes, /// /// Only uppercase letters will be used in the verification code. /// Verification codes are case-sensitive, so consumers with fixed /// keyboards with only one character case option may require this option. /// AlphaUpper, /// /// Only lowercase letters will be used in the verification code. /// Verification codes are case-sensitive, so consumers with fixed /// keyboards with only one character case option may require this option. /// AlphaLower, /// /// Only the numbers 0-9 will be used in the verification code. /// Must useful for consumers running on mobile phone devices. /// Numeric, } }