refresh authorizations
This commit is contained in:
parent
7763b51623
commit
97582cef4f
|
@ -464,7 +464,7 @@ namespace MediaBrowser.Server.Implementations.Connect
|
||||||
{
|
{
|
||||||
var list = _json.DeserializeFromStream<List<ServerUserAuthorizationResponse>>(stream);
|
var list = _json.DeserializeFromStream<List<ServerUserAuthorizationResponse>>(stream);
|
||||||
|
|
||||||
RefreshAuthorizations(list);
|
await RefreshAuthorizations(list).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -473,10 +473,8 @@ namespace MediaBrowser.Server.Implementations.Connect
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RefreshAuthorizations(List<ServerUserAuthorizationResponse> list)
|
private async Task RefreshAuthorizations(List<ServerUserAuthorizationResponse> list)
|
||||||
{
|
{
|
||||||
// TODO: Handle newly added guests that we don't know about
|
|
||||||
|
|
||||||
var users = _userManager.Users.ToList();
|
var users = _userManager.Users.ToList();
|
||||||
|
|
||||||
// Handle existing authorizations that were removed by the Connect server
|
// Handle existing authorizations that were removed by the Connect server
|
||||||
|
@ -493,7 +491,14 @@ namespace MediaBrowser.Server.Implementations.Connect
|
||||||
user.ConnectAccessKey = null;
|
user.ConnectAccessKey = null;
|
||||||
user.ConnectUserName = null;
|
user.ConnectUserName = null;
|
||||||
|
|
||||||
_userManager.UpdateUser(user);
|
if (user.ConnectLinkType == UserLinkType.Guest)
|
||||||
|
{
|
||||||
|
await _userManager.DeleteUser(user).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await _userManager.UpdateUser(user).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -504,13 +509,28 @@ namespace MediaBrowser.Server.Implementations.Connect
|
||||||
user.ConnectUserId = connectEntry.UserId;
|
user.ConnectUserId = connectEntry.UserId;
|
||||||
user.ConnectAccessKey = connectEntry.AccessToken;
|
user.ConnectAccessKey = connectEntry.AccessToken;
|
||||||
|
|
||||||
_userManager.UpdateUser(user);
|
await _userManager.UpdateUser(user).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
users = _userManager.Users.ToList();
|
||||||
|
|
||||||
|
// TODO: Handle newly added guests that we don't know about
|
||||||
|
foreach (var connectEntry in list)
|
||||||
|
{
|
||||||
|
if (string.Equals(connectEntry.UserType, "guest", StringComparison.OrdinalIgnoreCase) &&
|
||||||
|
string.Equals(connectEntry.AcceptStatus, "accepted", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
var user = users.FirstOrDefault(i => string.Equals(i.ConnectUserId, connectEntry.UserId, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
// Add user
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user