Skip to content
This repository was archived by the owner on Mar 20, 2019. It is now read-only.

Commit 5064778

Browse files
committed
Drops now include the contract reference assembly.
There are now three README files in the drops that describe different areas of interest.
1 parent ece2f8a commit 5064778

5 files changed

Lines changed: 233 additions & 184 deletions

File tree

build.proj

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,13 @@
110110
$(ProjectRoot)\Doc\*.htm*;
111111
$(ProjectRoot)\LICENSE.txt;
112112
$(ProjectRoot)\CONTRIB.txt;
113-
" />
114-
<DropBinSourceFiles Include="$(OutputPath)\$(ProductName).???" />
113+
"
114+
Exclude="$(ProjectRoot)\Doc\README.*.html;" />
115+
<DropBinSourceFiles Include="
116+
$(OutputPath)\$(ProductName).???;
117+
$(OutputPath)\$(ProductName).Contracts.???;
118+
$(ProjectRoot)\Doc\README.Bin.html;
119+
" />
115120
<DropSamplesSourceFiles Include="$(ProjectRoot)\Samples\**" Exclude="
116121
$(ProjectRoot)\**\obj\**;
117122
$(ProjectRoot)\**\*.user;

doc/README.Bin.html

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<html>
2+
<head>
3+
<style type="text/css">
4+
th
5+
{
6+
text-align: left;
7+
}
8+
th, td
9+
{
10+
vertical-align: top;
11+
}
12+
</style>
13+
</head>
14+
<body>
15+
<h1>Binary dependencies of sites using this library</h1>
16+
<table>
17+
<tr>
18+
<th>
19+
DotNetOpenAuth.dll
20+
</th>
21+
<td>the <b>only runtime dependency</b> for web sites to use this library. </td>
22+
</tr>
23+
<tr>
24+
<th>
25+
DotNetOpenAuth.pdb
26+
</th>
27+
<td>may be useful for debugging purposes.</td>
28+
</tr>
29+
<tr>
30+
<th>
31+
DotNetOpenAuth.xml
32+
</th>
33+
<td>provides Intellisense during development.</td>
34+
</tr>
35+
<tr>
36+
<th>
37+
DotNetOpenAuth.Contracts.dll</th>
38+
<td><a href="http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx">Compile-time
39+
code contracts</a> for use by applications that reference DotNetOpenAuth.dll to
40+
help web developers avoid mistakes and unhandled exceptions.</td>
41+
</tr>
42+
<tr>
43+
<th>
44+
log4net.dll
45+
</th>
46+
<td>If present, will allow for recording log messages this library emits.</td>
47+
</tr>
48+
<tr>
49+
<th>
50+
Microsoft.Contracts.dll
51+
</th>
52+
<td>enables contract compile-time and runtime enforcement, but currently only used for
53+
developing DotNetOpenAuth itself.</td>
54+
</tr>
55+
</table>
56+
</body>
57+
</html>

doc/README.html

Lines changed: 11 additions & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -1,186 +1,15 @@
11
<html>
22
<body>
3-
<h1>DotNetOpenAuth Library and samples </h1>
4-
<h3>Change history </h3>
5-
<ul>
6-
<li>2007-03-28 Created by Willem Muller (willem.muller@netidme.com)</li>
7-
<li>2007-04-04 Updated by Andrew Arnott (andrewarnott@gmail.com)</li>
8-
<li>2008-03-27 Updated by Andrew Arnott (andrewarnott@gmail.com)</li>
9-
<li>2009-03-26 Updated by Andrew Arnott (andrewarnott@gmail.com)</li>
10-
</ul>
11-
<h1>General</h1>
12-
<h3>Prerequisites:</h3>
13-
<ul>
14-
<li>Microsoft .NET 3.5</li>
15-
<li>Visual Studio 2008 or IIS</li>
16-
<li>Microsoft Windows (XP or Vista, or 2003 Server or later)</li>
17-
<li>See the tools section further below for some helpful software </li>
18-
</ul>
19-
<h2>Getting the samples running</h2>
20-
<h3>Testing the relying party/provider samples with each other</h3>
21-
<p>In this scenario you can use the Personal Web Server (PWS) that is included in Visual
22-
Studio 2008.</p>
23-
<ol>
24-
<li>Open the DotNetOpenAuth.sln or Samples.sln file in VS2008.</li>
25-
<li>Right-click on each web project under the Samples folder and click "View in Browser"
26-
to start PWS for each web site.</li>
27-
<li>Each web project will be dynamicly assigned a port number.&nbsp; Find the port number
28-
on the URL of the browser window for the Provider.&nbsp; </li>
29-
<li>Now log into the Relying Party sample web site with this OpenID: http://localhost:<i>providerport</i>/user/bob.
30-
</li>
31-
<li>When the provider prompts you for a password, type in &#39;test&#39;.</li>
32-
</ol>
33-
<h3>Testing with other relying party/provider sites on the Internet</h3>
34-
<ul>
35-
<li>You need to have a public IP address to test the Provider sample with other Relying
36-
Party web sites out on the Internet so they can find your Provider.&nbsp; </li>
37-
<li>You might need to configure your firewall and/or router to forward traffic to your
38-
computer.</li>
39-
<li>Note that some OpenID-enabled sites block URLs that use just IP addresses.&nbsp;
40-
You may need to get a DNS name to point at your public IP address in order for your
41-
scenario to work.</li>
42-
<li>Ensure your firewall is configured to allow inbound and outbound TCP port 80 connections.</li>
43-
<li>Since VS2008 Personal Web Server (PWS) does not allow web requests from other servers
44-
(as required by OpenID relying parties trying to log into your server), testing
45-
with external relying parties requires you to use IIS to host your server.</li>
46-
</ul>
47-
<h3>Setting up the IIS Applications</h3>
48-
<ul>
49-
<li>Create an IIS web application for each sample.&nbsp; </li>
50-
<li>Check that IIS is responding to requests on the port that your router will be forwarding
51-
requests to you on, if applicable.</li>
52-
<li>Enable anonymous access to each site.</li>
53-
<li>Set up URL rewriting.<ul>
54-
<li>This is the process of url conversion like: user/john ->user.aspx?username=john</li>
55-
<li>In IIS, go properties on the website (not the virtual directory)</li>
56-
<li>Go the Home Directory Tab and click Configuration</li>
57-
<li>Insert a wildcard extension </li>
58-
<li>Enter 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll' for the executable</li>
59-
<li>Uncheck the 'Verify that file exists button'</li>
60-
<li>OK your way out of everything</li>
61-
<li>If you navigate to 'http://localhost/OpenIdProviderWebForms/user/bob' you should
62-
see the text: 'OpenID identity page for bob'</li>
63-
</ul>
64-
</li>
65-
</ul>
66-
<p>Note: These instructions work on IIS 6 with Windows 2003 Server. Other version of
67-
IIS (such as the one with windows XP - IIS 5.1) will vary. For IIS 5.1 , try follow
68-
instructions documented toward the end of this article: http://www.codeproject.com/aspnet/URLRewriter.asp.
69-
If you still have issues (particularly if you get 404 when trying the demos or experience
70-
something like <a href="http://groups.google.co.uk/group/microsoft.public.inetserver.iis/browse_thread/thread/386efa0bf596234b/ee1fab525c129071?lnk=st&amp;q=URLRewriter+IIS+XP+404&amp;rnum=2&amp;hl=en#ee1fab525c129071">
71-
this</a>) try this: </p>
72-
<ol>
73-
<li>create a file extension mapping for .openid files that maps to asp.net (c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll)</li>
74-
<li>browse to .openid eg: http://IP/OpenIdProviderWebForms/user/bob.openid</li>
75-
</ol>
76-
<p>Configure VS2008 to use IIS rather than PWS</p>
77-
<ol>
78-
<li>Right-click on one of the web projects within Solution Explorer.</li>
79-
<li>Select Property Pages.</li>
80-
<li>Select Start Options on the left.</li>
81-
<li>Under the Server section on the right, select Use Custom Server and fill in the
82-
Base URL.</li>
83-
</ol>
84-
<h2>The demos</h2>
85-
<p>These will illustrate OpenID in action. You can debug the code to get a good idea
86-
of what's going on. The implementations are built on top of ASP.NET's forms authentication.
87-
So basically if you're unauthenticated and get to page requiring authentication,
88-
it takes you through the OpenID identity provider, tracks in session that you've
89-
left and then recognizes the user when they return to the relying party and only
90-
then logs them into FormsAuth and redirects them to their originally requested page.
91-
</p>
92-
<h3>The Relying Party Demo </h3>
93-
<ol>
94-
<li>Kill all session cookies</li>
95-
<li>Create an OpenID account with one of the Open Servers listed below OR use the demo
96-
Server as the identity provider - using http://[EXTERNAL IP]/OpenIdProviderWebForms/user/bob
97-
with the password 'test'</li>
98-
<li>Go to http://[EXTERNAL IP]/OpenIdRelyingPartyWebForms/default.aspx and enter the
99-
OpenIDURL</li>
100-
<li>You are required to authenticate with the provider. Some fields (eg Name, DoB, Country
101-
etc.) are requested, some required and some omitted. Your OpenID provider should
102-
prompt you for the relevant fields, or at least make you aware which fields its
103-
passing back. The exact page flow and auhentication mechanism will be implemented
104-
differently by different identity providers.</li>
105-
<li>After providing the required info and loggin in, you are taken back to the http://[EXTERNAL
106-
IP]/OpenIdRelyingPartyWebForms/default.aspx and the available profile information
107-
is displayed</li>
108-
</ol>
109-
<h3>The Provider Demo </h3>
110-
<ol>
111-
<li>Kill all session cookies</li>
112-
<li>Get the full openID url for a user based on whats in web.config. By default you
113-
can use http://[EXTERNAL IP]/OpenIdProviderWebForms/user/bob with the password 'test'</li>
114-
<li>Go to http://[EXTERNAL IP]/OpenIdRelyingPartyWebForms/default.aspx and enter the
115-
OpenIDURL of the local server</li>
116-
<li>The user is prompted for their password. The username field is propulated from the
117-
openid url and grayed out.</li>
118-
<li>The user is presentend with their identity url, a trust root (the site requiring
119-
authentication) and set of fields to complete. Only the requested or required fields
120-
are presented. Fields with * means the consumer requires it. </li>
121-
<li>The user completes the fields and clicks Yes and are taken to http://[EXTERNAL IP]/OpenIdRelyingPartyWebForms/default.aspx
122-
with their available profile information.</li>
123-
</ol>
124-
<h3>Interesting classes and methods</h3>
125-
<h4>Relying party</h4>
126-
<ul>
127-
<li>DotNetOpenId.RelyingParty.<b>OpenIdRelyingParty</b> - programmatic access to everything
128-
a relying party web site needs.</li>
129-
<li>DotNetOpenId.RelyingParty.<b>OpenIdTextBox</b> - An ASP.NET control that is a bare-bones
130-
text input box with a LogOn method that automatically does all the OpenId stuff
131-
for you.</li>
132-
<li>DotNetOpenId.RelyingParty.<b>OpenIdLogin</b> - Like the OpenIdTextBox, but has a
133-
Login button and some other end user-friendly UI built-in.&nbsp; Drop this onto
134-
your web form and you&#39;re all done!</li>
135-
</ul>
136-
<h4>Provider</h4>
137-
<ul>
138-
<li>DotNetOpenId.Provider.<b>OpenIdProvider</b> - programmatic access to everything
139-
a provider web site needs.</li>
140-
<li>DotNetOpenId.Provider.<b>ProviderEndpoint</b> - An ASP.NET control that you can
141-
drop in and have an instant provider endpoint on your page.</li>
142-
<li>DotNetOpenId.Provider.<b>IdentityEndpoint</b> - An ASP.NET control that you can
143-
drop onto the page for your own or your customers&#39; individual identity pages
144-
for discovery by Relying Parties.</li>
145-
</ul>
146-
<h3>Development tips / Issues I found:</h3>
147-
<p>Here is a growing list of <a href="http://openiddirectory.com/allcats.html">OpenID
148-
enabled sites</a> to test with. </p>
149-
<p>Good sites to test with if you're developing a relying party:<ul>
150-
<li><a href="http://www.myopenid.com/">http://www.myopenid.com/</a></li>
151-
<li><a href="http://claimid.com/">http://claimid.com/</a> (supports registration extensions)</li>
152-
<li><a href="http://www.freeyourid.com/">http://www.freeyourid.com/</a> (supports registration
153-
extensions)</li>
154-
</ul>
155-
<p>Good sites to test with if you're developing a server:<ul>
156-
<li><a href="http://beta.zooomr.com/home">http://beta.zooomr.com/home</a>&nbsp; *</li>
157-
<li><a href="http://cr.unchy.com/">http://cr.unchy.com/</a>&nbsp; (supports registration
158-
extensions)</li>
159-
<li><a href="http://blog.identity20.eu">http://blog.identity20.eu</a>&nbsp; *</li>
160-
<li><a href="http://openiddirectory.com">http://openiddirectory.com</a>&nbsp; *</li>
161-
<li><a href="http://www.centernetworks.com/">http://www.centernetworks.com/</a>&nbsp;
162-
(supports registration extensions)</li>
163-
<li><a href="http://www.loudisrelative.com">http://www.loudisrelative.com</a>&nbsp;
164-
(supports registration extensions)</li>
165-
<li><a href="http://rssarchive.com/index.html">http://rssarchive.com/index.html</a>&nbsp;
166-
</li>
167-
<li><a href="http://www.jyte.com">http://www.jyte.com</a>&nbsp; (supports registration
168-
extensions)</li>
169-
<li><a href="http://dis.covr.us/">http://dis.covr.us/</a>&nbsp; </li>
170-
</ul>
171-
* These sites seem to block outgoing traffic that is not on a non standard HTTP
172-
port like 80 and 443. Therefore you'll need to host on a proper internet domain
173-
before doing any testing with them.
174-
<p>Useful tools:
175-
<ul>
176-
<li><a href="http://www.fiddlertool.com/fiddler/">Fiddler</a> - this will allow you
177-
to monitor HTTP traffic when using IE</li>
178-
<li><a href="http://www.bayden.com/Other/">TamperIE</a> - allows you to change form
179-
data before posting it</li>
180-
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;displaylang=en">
181-
IE Developer toolbar</a> - good tool for general IE UI development. Has some neat
182-
features for quickly clearing cookies etc.</li>
183-
<li><a href="http://www.iopus.com/download/">iMacros</a> - good for automating web testing</li>
184-
</ul>
3+
<h1>DotNetOpenAuth Library and samples</h1>
4+
<p>DotNetOpenAuth is a .NET library that enables OpenID, OAuth and InfoCard support
5+
to be easily added to your web and/or desktop applications.&nbsp; </p>
6+
<p>The project site for this library is hosted at
7+
<a href="http://dotnetopenid.googlecode.com/">
8+
http://dotnetopenid.googlecode.com/</a>.&nbsp; Please visit that web site for
9+
documentation, support and maintenance releases.</p>
10+
<p>As with any library that is used for security-sensitive purposes such as
11+
authentication and authorization, you should periodically check the project web
12+
site for updates to this library before and after you install it into a desktop
13+
or web application.</p>
18514
</body>
18615
</html>

0 commit comments

Comments
 (0)