diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2008-05-26 23:15:21 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2008-05-26 23:15:21 -0700 |
commit | 24bcd4604eef4e77c0db3408df65ea3f7ff33e0e (patch) | |
tree | 2c7fddddd0351473966ecaa27cef9ec1836ab072 /src/DotNetOpenId/IEncodable.cs | |
parent | ea26f06c67848867d693c178335dad579e987154 (diff) | |
download | DotNetOpenAuth-24bcd4604eef4e77c0db3408df65ea3f7ff33e0e.zip DotNetOpenAuth-24bcd4604eef4e77c0db3408df65ea3f7ff33e0e.tar.gz DotNetOpenAuth-24bcd4604eef4e77c0db3408df65ea3f7ff33e0e.tar.bz2 |
Breaking changes! OpenID indirect messages larger than 2KB are now sent via form POST instead of GET.
Refactored public API to allow for form POST responses.
This scenario is not being tested.
Diffstat (limited to 'src/DotNetOpenId/IEncodable.cs')
-rw-r--r-- | src/DotNetOpenId/IEncodable.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/DotNetOpenId/IEncodable.cs b/src/DotNetOpenId/IEncodable.cs new file mode 100644 index 0000000..ef5ab60 --- /dev/null +++ b/src/DotNetOpenId/IEncodable.cs @@ -0,0 +1,33 @@ +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; }
+ Uri RedirectUrl { get; }
+ Protocol Protocol { get; }
+ }
+}
|