summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderSecuritySettings.cs
blob: d10881dabebb95c61825172c81420439a73580c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//-----------------------------------------------------------------------
// <copyright file="ServiceProviderSecuritySettings.cs" company="Outercurve Foundation">
//     Copyright (c) Outercurve Foundation. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------

namespace DotNetOpenAuth.OAuth {
	using System;

	/// <summary>
	/// Security settings that are applicable to service providers.
	/// </summary>
	public class ServiceProviderSecuritySettings : SecuritySettings {
		/// <summary>
		/// Initializes a new instance of the <see cref="ServiceProviderSecuritySettings"/> class.
		/// </summary>
		internal ServiceProviderSecuritySettings() {
		}

		/// <summary>
		/// Gets or sets the minimum required version of OAuth that must be implemented by a Consumer.
		/// </summary>
		public ProtocolVersion MinimumRequiredOAuthVersion { get; set; }

		/// <summary>
		/// Gets or sets the maximum time a user can take to complete authorization.
		/// </summary>
		/// <remarks>
		/// This time limit serves as a security mitigation against brute force attacks to
		/// compromise (unauthorized or authorized) request tokens.
		/// Longer time limits is more friendly to slow users or consumers, while shorter
		/// time limits provide better security.
		/// </remarks>
		public TimeSpan MaximumRequestTokenTimeToLive { get; set; }
	}
}