Errata

Programming Windows® Identity Foundation

Errata for Programming Windows® Identity Foundation

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page 5
Second code sample

"IPrinicipal" should be "IPrincipal"

Bill Wilder
 
Feb 08, 2011 
Printed Page 20
Second bullet

"to which the claim refers to" should be simply "to which the claim refers"

Bill Wilder
 
Feb 08, 2011 
Printed, PDF Page 38
3rd paragraph

The reference to download the Claims-Driven Modifier Control from the following Url: http://code.msdn.microsoft.com/ClaimsDrivenControl, only provides support for Visual Studio 2008. Therefore, this control will absolutely not install with support for Visual Studio 2010.

Samir Vaidya  Feb 04, 2011 
Printed Page 40
XML markup & second bullet below it

The XML markup contains <issuerNameRegistry> and in the description below, in the second bullet, there is IssuerNamedRegistry. I think the tokens should match such that "IssuerNamedRegistry" should be "IssuerNameRegistry" (no "d")

Bill Wilder
 
Feb 08, 2011 
Printed Page 45
last if statement in the code of the CheckAccess method

the if statement checks if today is earlier then birth date plus 21 years (constant) and it should check if today is earlier then birthday plus minAge (variable)...

Anonymous  Oct 14, 2010 
Printed Page 45
Code example at the top of the page

In the AgeThresholdClaimsAuthorizatioManager costructor, should the reference to System.IdentityModel.Claims.ClaimTypes.DateOfBirth in the call to the CompareTo method actually be Microsoft.IdentityModel.Claims.ClaimTypes.DateOfBirth?

John Sharp  Apr 07, 2011 
Printed Page 45
Example code, method CheckAccess, 5ft line of code

In LINQ code there are an access to claimsIdentity.Claims but the variable is'nt initialized. To resolve the problem, just add following line before the DateTime birthDate... line:

IClaimsIdentity claimsIdentity = context.Principal.Identity as IClaimsIdentity;

Samuele  Jan 22, 2012 
Printed Page 57
tabel

The table listing WS-* protocols supported by WIF, lists WS-trust twice. In row 2 and row 4.

bart  Nov 13, 2010 
Printed Page 68
1st Paragraph

The url for the SecurityTokenVisualizer control is incorrect.

The correct url is http://code.msdn.microsoft.com/TokenVisualizerCtrl

Larry Richardson  Oct 11, 2010 
Printed, PDF Page 68
Examining Tokens with WIF in ASP.NET Applications box

Throughout the book, the impression is given that Visual Studio 2010 should be used for all development activities with Windows Identity Foundation. However, in the sample for Examining Tokens with WIF in ASP.Net Applications, there is a reference to utilizing the Claims-Driven Modifier Control in development activities.

However, if you download the latest release of the Claims-Driven Modifier Control from the Url provided: http://code.msdn.microsoft.com/ClaimsDrivenControl

You will notice that the code pre-dates Visual Studio 2010 and therefore CAN ONLY install on Visual Studio 2008.

This is a serious problem because most development throughout the book is occurring with Visual Studio 2010, therefore, Visual Studio 2008 is not typically installed on the same machine, thus preventing any use of this control whatsoever.

Anonymous  Feb 04, 2011 
Printed Page 68
1st paragraph

The link to ClaimsDrivenControl is wrong- it's now:

http://archive.msdn.microsoft.com/ClaimsDrivenControl

More importantly, it's the wrong link.

The link should be to the SecurityTokenVisualiserControl i.e.

http://archive.msdn.microsoft.com/TokenVisualizerCtrl

"The Claims-Driven Modifier control is a simple ASP.NET server control which allows you to use identity for driving the behavior of your frontend UX, without requiring you to see even a single line of code."

"The Security Token Visualizer control (STVC) is a simple ASP.NET server control which displays in a compact layout useful information about claims-based identity in a web site secured with Windows Identity Foundation."

nzpcmad  May 08, 2011 
Printed Page 75
last paragraph; not the xml from the config file

The last sentence referes to "Figure 3-2" when I believe it should refer to "Figure 3.4".

DaBiggin  Feb 18, 2011 
Printed Page 80
1st Paragraph

Figure number looks like it is wrong in the following sentence :
Let's use once more the handy diagram in Figure 3.2 to see how...

The following text appears to be referring to Figure 3-4

Nick Pattman  Mar 27, 2012 
Printed Page 82
Starting on Page 82 second paragraph from the bottom.

In the paragraph describing microsoft.identityModel (under the <configuration> section and above <appSettings>, it's spelled incorrectly, microsoft.identitytModel.

Also on pages 82-85 the web.config sections are listed followed by a description of that section. After most of the descriptions, there is a colon. This is confusing because it implies the web.config section it is describing is after it instead of preceding it.

<configuration>
<configSections>
<section name="microsoft.identityModel" type=Microsoft..........
</configSections>
<configuration>

The first sign of the presence of WIF in the application is the registration of its configuration section, under the moniker microsoft.identitytModel:

<appSettings>
<add key="FederationMetatdataLocation" value="C:\inetpub.....">
</appSettings>



Anonymous  Feb 10, 2012 
Printed Page 83
1st para, 2nd sentence

The sentence reads: "Note that this entry is used by the WIF tooling but it is not really used by the framework itself during the <i>pplication</i> execution." The next to last work should be "<i>application</i>".

DaBiggin  Feb 21, 2011 
Printed Page 181
Bottom of page

AT the bottom of the page we RequestSecurityToken rst = new RequestedSecurityToken(WSTrust13Constants.RequestTypes.Issue)

However, the constructor of this type does not take a string. So the code doesn't compile.

Van den Driessche Willy  Apr 18, 2011