¿La mejor manera de crear un sistema TOKEN para autenticar las llamadas de servicio web?

Me gustaría crear una arquitectura de servicio web que pueda ser llamada por varias plataformas como dispositivos móviles, aplicaciones de Windows, iPhone, Blackberry, lo que sea. Así que ir con algo como WCF y el enlace wsHttp probablemente mata esto y necesitaría bajar de nivel a un enlace basicHttp para compatibilidad.

Dicho esto, necesito un sistema para generar un token en el inicio de sesión inicial (autenticación) y luego usar este token para todas las llamadas posteriores, supongo, para validar la autenticación y permitir que el método se ejecute.

¿Alguien tiene consejos o sugerencias sobre cómo hacer esto? 1) ¿Generar un token y qué implica un token seguro? 2) ¿Cuánto dura el token, algunos usuarios pueden usar su aplicación durante horas y posiblemente incluso "dormir" su computadora?

Gracias por el consejo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta