title: WCF services: passing a token to validate a subscription and get database info
body: <p>I'm creating a smart client application using .NET 3.5.  A Winforms client connecting through WCF services to retrieve data from SQL Server 2008. I need to pass a username/password (encrypted and over HTTPS) and return information such as:</p>
  
  <ul>
  <li>Is this user (e-mail address) under a current subscription</li>
  <li>What server should we go to next for all subsequent calls (poor man's load balancing)</li>
  <li>What server/database should be used in the connection string (credentials not required), as people could be using different databases depending on their subscription, etc.</li>
  </ul>
  
  <p>So my first call when signing on sends the credentials which a lookup is performed. A serializable class will be used to create a token object (I assume this is the way to handle this) which will return the expiration, server info, database info.</p>
  
  <p>The question is on all subsequent calls do I pass this token as a parameter to every service contract (web method) or can I leave all my current contracts as is and pass the token in a header or some other more universal method?</p>
  
  <p>How do you suggest implementing a token system such as I describe?</p>
  
  <p>Thank you</p>