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

Commit

Permalink
Cleaned up WCF sample service a bit now that we have IPrincipal working.
Browse files Browse the repository at this point in the history
  • Loading branch information
AArnott committed Jun 24, 2009
1 parent 81672a6 commit 5f4415d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
20 changes: 13 additions & 7 deletions samples/OAuthServiceProvider/App_Code/DataApi.cs
@@ -1,20 +1,26 @@
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 Global.LoggedInUser 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; }
}

public int? GetAge() {
return AccessToken.User.Age;
return Global.LoggedInUser.Age;
}

public string GetName() {
return AccessToken.User.FullName;
return Global.LoggedInUser.FullName;
}

public string[] GetFavoriteSites() {
return AccessToken.User.FavoriteSites.Select(site => site.SiteUrl).ToArray();
return Global.LoggedInUser.FavoriteSites.Select(site => site.SiteUrl).ToArray();
}
}
Expand Up @@ -43,7 +43,6 @@ public class OAuthAuthorizationManager : ServiceAuthorizationManager {
// Only allow this method call if the access token scope permits it.
string[] scopes = accessToken.Scope.Split('|');
if (scopes.Contains(operationContext.IncomingMessageHeaders.Action)) {
operationContext.IncomingMessageProperties["OAuthAccessToken"] = accessToken;
return true;
}
}
Expand Down

0 comments on commit 5f4415d

Please sign in to comment.