diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2009-12-01 22:37:17 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2009-12-01 22:37:17 -0800 |
commit | 0a1042ae9ff54c5b3523e1cf4210c1fade4a9144 (patch) | |
tree | 2b9966e8bc51dfab2bf6e4c893177f2cadb34773 /samples/OAuthServiceProvider/App_Code/DataApi.cs | |
parent | 9a90c9cf0884ad7e69de90e9d4dd6a2e50ef86bd (diff) | |
parent | 8aa6439564b60e762e66e0055600a0f1a2348803 (diff) | |
download | DotNetOpenAuth-0a1042ae9ff54c5b3523e1cf4210c1fade4a9144.zip DotNetOpenAuth-0a1042ae9ff54c5b3523e1cf4210c1fade4a9144.tar.gz DotNetOpenAuth-0a1042ae9ff54c5b3523e1cf4210c1fade4a9144.tar.bz2 |
Merge branch 'v3.2' into mono2
Diffstat (limited to 'samples/OAuthServiceProvider/App_Code/DataApi.cs')
-rw-r--r-- | samples/OAuthServiceProvider/App_Code/DataApi.cs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/samples/OAuthServiceProvider/App_Code/DataApi.cs b/samples/OAuthServiceProvider/App_Code/DataApi.cs index a765159..d5adb10 100644 --- a/samples/OAuthServiceProvider/App_Code/DataApi.cs +++ b/samples/OAuthServiceProvider/App_Code/DataApi.cs @@ -1,20 +1,31 @@ using System.Linq; using System.ServiceModel; +/// <summary> +/// The WCF service API. +/// </summary> +/// <remarks> +/// Note how there is no code here that is bound to OAuth or any other +/// credential/authorization scheme. That's all part of the channel/binding elsewhere. +/// And the reference to OperationContext.Current.ServiceSecurityContext.PrimaryIdentity +/// is the user being impersonated by the WCF client. +/// In the OAuth case, it is the user who authorized the OAuth access token that was used +/// to gain access to the service. +/// </remarks> public class DataApi : IDataApi { - private static OAuthToken AccessToken { - get { return OperationContext.Current.IncomingMessageProperties["OAuthAccessToken"] as OAuthToken; } + private User User { + get { return OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.GetUser(); } } public int? GetAge() { - return AccessToken.User.Age; + return User.Age; } public string GetName() { - return AccessToken.User.FullName; + return User.FullName; } public string[] GetFavoriteSites() { - return AccessToken.User.FavoriteSites.Select(site => site.SiteUrl).ToArray(); + return User.FavoriteSites.Select(site => site.SiteUrl).ToArray(); } } |