blob: 4dd830b6e066db861737ce1e058d73e976090f5f (
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
37
38
|
using System;
using System.Collections.Generic;
using System.Text;
namespace DotNetOpenId {
internal enum EncodingType {
None,
/// <summary>
/// Data to be sent to the OP or RP site by telling the user agent to
/// redirect GET or form POST to a special URL with a payload of arguments.
/// </summary>
IndirectMessage,
/// <summary>
/// Provider response data to be sent directly to the Relying Party site,
/// in response to a direct request initiated by the RP
/// (not indirect via the user agent).
/// Key-Value Form encoding will be used.
/// </summary>
DirectResponse
}
/// <remarks>
/// Classes that implement IEncodable should be either [Serializable] or
/// derive from <see cref="MarshalByRefObject"/> so that testing can
/// remote across app-domain boundaries to sniff/tamper with messages.
/// </remarks>
internal interface IEncodable {
EncodingType EncodingType { get; }
IDictionary<string, string> EncodedFields { get; }
/// <summary>
/// The URL that the user agent should be redirected to
/// in the case of <see cref="DotNetOpenId.EncodingType.IndirectMessage"/>.
/// Does not apply to <see cref="DotNetOpenId.EncodingType.DirectResponse"/>.
/// </summary>
Uri RedirectUrl { get; }
Protocol Protocol { get; }
}
}
|