- Si el usuario concedió previamente el consentimiento que necesita, Live no solicitará al usuario que otorgue nuevamente. No necesita saltear manualmente.
- No sé cuál es su plataforma, pero es posible que encuentre de algún modo que el almacenamiento de su aplicación esté aislado o encriptado. Lo que es importante es que el token tenga un tiempo de caducidad. También puede considerar el uso de un controlador que proporciona Microsoft, que puede manejar todo lo relacionado con el inicio de sesión en vivo. Aquí está mi ejemplo WP8:
Añadir esta en el archivo XAML:
<Controls:SignInButton Grid.Row="0" ClientId="yourid" Scopes="wl.offline_access wl.skydrive_update" HorizontalAlignment="Right" VerticalAlignment="Bottom" SessionChanged="OnSessionChanged"
Margin="0,0,0,0" Width="160" Height="70" Background="Transparent" BorderBrush="{StaticResource TransparentBrush}" />
Antes de eso, añadir esta línea en el mismo archivo:
xmlns:Controls="clr-namespace:Microsoft.Live.Controls;assembly=Microsoft.Live.Controls"
y el control se parecerá esto: ![enter image description here](https://i.stack.imgur.com/oCWph.png)
Se actualizará automáticamente cuando el usuario inicie sesión o cierre la sesión.
En su código C#, agregue el controlador de eventos OnSessionChanged a ella:
private void OnSessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
{
//sign in
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
return;
}
if (e.Status == LiveConnectSessionStatus.Connected)
{
((App) Application.Current).Session = e.Session;
connectClient = new LiveConnectClient(((App) Application.Current).Session);
}
}
}