summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2012-04-08 18:18:02 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2012-04-08 18:18:02 -0700
commitfc8822bbe33f8eb75d039d478c15c84e02145f5b (patch)
tree4adc74038c1ae9fd64a785434e6cabb9f31341c0
parente21ca9bea06663e6cf37671eca262534f2480f0b (diff)
downloadDotNetOpenAuth-fc8822bbe33f8eb75d039d478c15c84e02145f5b.zip
DotNetOpenAuth-fc8822bbe33f8eb75d039d478c15c84e02145f5b.tar.gz
DotNetOpenAuth-fc8822bbe33f8eb75d039d478c15c84e02145f5b.tar.bz2
Added a public constructor to ClaimsResponse.
Also made the probable type URIs that it accepts public and easily discoverable. Fixes #116
-rw-r--r--src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs2
-rw-r--r--src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs2
-rw-r--r--src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs4
-rw-r--r--src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs13
-rw-r--r--src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs33
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs4
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs2
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs2
9 files changed, 47 insertions, 23 deletions
diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs
index 6ffb326..946d354 100644
--- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs
+++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs
@@ -52,7 +52,7 @@ namespace DotNetOpenAuth.OpenId.Provider.Extensions {
var ax = req.GetExtension<FetchRequest>();
if (ax != null) {
- sreg = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns);
+ sreg = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.TypeUris.Standard);
sreg.Synthesized = true;
((IProtocolMessageWithExtensions)req.RequestMessage).Extensions.Add(sreg);
sreg.BirthDate = GetDemandLevelFor(ax, WellKnownAttributes.BirthDate.WholeBirthDate);
diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs
index 5cd4904..1d795da 100644
--- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs
+++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs
@@ -21,7 +21,7 @@ namespace DotNetOpenAuth.OpenId.Extensions {
/// match to namespaces for backward compatibility with other OpenID libraries.
/// </summary>
private static readonly Dictionary<string, string> typeUriToAliasAffinity = new Dictionary<string, string> {
- { Extensions.SimpleRegistration.Constants.sreg_ns, Extensions.SimpleRegistration.Constants.sreg_compatibility_alias },
+ { Extensions.SimpleRegistration.Constants.TypeUris.Standard, Extensions.SimpleRegistration.Constants.sreg_compatibility_alias },
{ Extensions.ProviderAuthenticationPolicy.Constants.TypeUri, Extensions.ProviderAuthenticationPolicy.Constants.CompatibilityAlias },
};
diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs
index 9d418ee..ab08cbb 100644
--- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs
+++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs
@@ -24,7 +24,7 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// The factory method that may be used in deserialization of this message.
/// </summary>
internal static readonly StandardOpenIdExtensionFactory.CreateDelegate Factory = (typeUri, data, baseMessage, isProviderRole) => {
- if (typeUri == Constants.sreg_ns && isProviderRole) {
+ if (typeUri == Constants.TypeUris.Standard && isProviderRole) {
return new ClaimsRequest(typeUri);
}
@@ -41,7 +41,7 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// Initializes a new instance of the <see cref="ClaimsRequest"/> class.
/// </summary>
public ClaimsRequest()
- : base(new Version(1, 0), Constants.sreg_ns, Constants.AdditionalTypeUris) {
+ : base(new Version(1, 0), Constants.TypeUris.Standard, Constants.AdditionalTypeUris) {
}
/// <summary>
diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs
index 999fe8d..af60596 100644
--- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs
+++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// The factory method that may be used in deserialization of this message.
/// </summary>
internal static readonly StandardOpenIdExtensionFactory.CreateDelegate Factory = (typeUri, data, baseMessage, isProviderRole) => {
- if ((typeUri == Constants.sreg_ns || Array.IndexOf(Constants.AdditionalTypeUris, typeUri) >= 0) && !isProviderRole) {
+ if ((typeUri == Constants.TypeUris.Standard || Array.IndexOf(Constants.AdditionalTypeUris, typeUri) >= 0) && !isProviderRole) {
return new ClaimsResponse(typeUri);
}
@@ -55,10 +55,11 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
private CultureInfo culture;
/// <summary>
- /// Initializes a new instance of the <see cref="ClaimsResponse"/> class.
+ /// Initializes a new instance of the <see cref="ClaimsResponse"/> class
+ /// using the most common, and spec prescribed type URI.
/// </summary>
- internal ClaimsResponse()
- : this(Constants.sreg_ns) {
+ public ClaimsResponse()
+ : this(Constants.TypeUris.Standard) {
}
/// <summary>
@@ -67,8 +68,10 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// <param name="typeUriToUse">
/// The type URI that must be used to identify this extension in the response message.
/// This value should be the same one the relying party used to send the extension request.
+ /// Commonly used type URIs supported by relying parties are defined in the
+ /// <see cref="Constants.TypeUris"/> class.
/// </param>
- internal ClaimsResponse(string typeUriToUse)
+ public ClaimsResponse(string typeUriToUse = Constants.TypeUris.Standard)
: base(new Version(1, 0), typeUriToUse, Constants.AdditionalTypeUris) {
Requires.NotNullOrEmpty(typeUriToUse, "typeUriToUse");
}
diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs
index 8325b0c..30cd748 100644
--- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs
+++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs
@@ -13,10 +13,31 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// <summary>
/// Simple Registration constants
/// </summary>
- internal static class Constants {
- internal const string sreg_ns = "http://openid.net/extensions/sreg/1.1";
- internal const string sreg_ns10 = "http://openid.net/sreg/1.0";
- internal const string sreg_ns11other = "http://openid.net/sreg/1.1";
+ public static class Constants {
+ /// <summary>
+ /// Commonly used type URIs to represent the Simple Registration extension.
+ /// </summary>
+ public static class TypeUris {
+ /// <summary>
+ /// The URI "http://openid.net/extensions/sreg/1.1".
+ /// </summary>
+ /// <remarks>
+ /// This is the type URI prescribed by the Simple Registration 1.1 spec.
+ /// http://openid.net/specs/openid-simple-registration-extension-1_1-01.html#anchor3
+ /// </remarks>
+ public const string Standard = "http://openid.net/extensions/sreg/1.1";
+
+ /// <summary>
+ /// The URI "http://openid.net/sreg/1.0"
+ /// </summary>
+ public const string Variant10 = "http://openid.net/sreg/1.0";
+
+ /// <summary>
+ /// The URI "http://openid.net/sreg/1.1"
+ /// </summary>
+ public const string Variant11 = "http://openid.net/sreg/1.1";
+ }
+
internal const string sreg_compatibility_alias = "sreg";
internal const string policy_url = "policy_url";
internal const string optional = "optional";
@@ -39,8 +60,8 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// Additional type URIs that this extension is sometimes known by remote parties.
/// </summary>
internal static readonly string[] AdditionalTypeUris = new string[] {
- Constants.sreg_ns10,
- Constants.sreg_ns11other,
+ Constants.TypeUris.Variant10,
+ Constants.TypeUris.Variant11,
};
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
index 9592605..e9ff7a4 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
@@ -63,7 +63,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// </summary>
[Test]
public void UnifyExtensionsAsSregWithSreg() {
- var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns) {
+ var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.TypeUris.Standard) {
Nickname = DemandLevel.Request,
};
this.extensions.Add(sregInjected);
@@ -100,7 +100,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// </summary>
[Test]
public void UnifyExtensionsAsSregWithBothSregAndAX() {
- var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns) {
+ var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.TypeUris.Standard) {
Nickname = DemandLevel.Request,
};
this.extensions.Add(sregInjected);
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
index b5bcd7b..05ba3ad 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
@@ -88,7 +88,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
[Test]
public void SpreadSregToAxNoOpIfOPSupportsSreg() {
this.authReq.AddExtension(this.sreg);
- this.InjectAdvertisedTypeUri(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns);
+ this.InjectAdvertisedTypeUri(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.TypeUris.Standard);
ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.All);
Assert.IsFalse(this.authReq.AppliedExtensions.OfType<FetchRequest>().Any());
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
index 35bfc78..f898511 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
public class ClaimsResponseTests {
[Test]
public void EmptyMailAddress() {
- ClaimsResponse response = new ClaimsResponse(Constants.sreg_ns);
+ ClaimsResponse response = new ClaimsResponse(Constants.TypeUris.Standard);
response.Email = string.Empty;
Assert.IsNull(response.MailAddress);
}
@@ -133,17 +133,17 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
[Test]
public void ResponseAlternateTypeUriTests() {
- var request = new ClaimsRequest(Constants.sreg_ns10);
+ var request = new ClaimsRequest(Constants.TypeUris.Variant10);
request.Email = DemandLevel.Require;
- var response = new ClaimsResponse(Constants.sreg_ns10);
+ var response = new ClaimsResponse(Constants.TypeUris.Variant10);
response.Email = "a@b.com";
ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
}
private ClaimsResponse GetFilledData() {
- return new ClaimsResponse(Constants.sreg_ns) {
+ return new ClaimsResponse(Constants.TypeUris.Standard) {
BirthDate = new DateTime(2005, 2, 3),
Culture = new System.Globalization.CultureInfo("en-US"),
Email = "a@b.com",
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs
index 08e5a46..657b942 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs
@@ -188,7 +188,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
se = IdentifierDiscoveryResult.CreateForProviderIdentifier(
OPUri,
- new ProviderEndpointDescription(OPUri, new[] { Protocol.V20.ClaimedIdentifierServiceTypeURI, "http://someextension", Constants.sreg_ns }),
+ new ProviderEndpointDescription(OPUri, new[] { Protocol.V20.ClaimedIdentifierServiceTypeURI, "http://someextension", Constants.TypeUris.Standard }),
null,
null);
Assert.IsTrue(se.IsExtensionSupported<ClaimsRequest>());