Bug 35662

Summary: Type System.ServiceModel.Security.Tokens.BinarySecretSecurityToken is missing in assembly System.IdentityModel
Product: [Mono] Class Libraries Reporter: af4178a2 <xamarin>
Component: WCF assembliesAssignee: Alexander Köplinger [MSFT] <alkpli>
Status: RESOLVED FIXED    
Severity: normal CC: miguel, mono-bugs+mono, xamarin
Priority: Normal    
Version: master   
Target Milestone: Untriaged   
Hardware: PC   
OS: Linux   
Tags: Is this bug a regression?: ---
Last known good build:
Attachments: NUnit test

Description af4178a2 2015-11-08 07:57:19 UTC
Created attachment 13723 [details]
NUnit test

It seems Microsoft moved the class System.ServiceModel.Security.Tokens.BinarySecretSecurityToken from System.ServiceModel assembly to System.IdentityModel assembly starting with .NET 4.5

Therefore using SymmetricKeyIssuerSecurityTokenProvider from NuGet package Microsoft.Owin.Security.Jwt under Mono/.NET 4.5 results in the following exception:

Could not load type 'System.ServiceModel.Security.Tokens.BinarySecretSecurityToken' from assembly 'System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.)
  at Microsoft.Owin.Security.Jwt.SymmetricKeyIssuerSecurityTokenProvider..ctor (System.String issuer, System.Byte[] key) <0x415ac7d0 + 0x0005b> in <filename unknown>:0
Comment 1 Alexander Köplinger [MSFT] 2016-10-13 17:11:03 UTC
I opened a pull request which moves this type and a few others that were moved in .NET 4.5: https://github.com/mono/mono/pull/3763
Comment 2 Alexander Köplinger [MSFT] 2016-10-14 14:21:14 UTC
Merged to master and mono-4.8.0-branch. Thanks!