using Manager.Interfaces.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace ManagerService.Service
{
internal static class Security
{
public const string Scope = "Manager-api";
///
/// Permissions
///
private class Permissions
{
///
/// Admin access
///
public const string Admin = "Manager.admin";
}
///
/// Custom claims types
///
public class ClaimTypes
{
public const string Permission = "Permission";
}
///
/// Permissions for each type of profile
///
public static readonly Dictionary ProfilesConfiguration = new Dictionary()
{
// An admin has access to everything
//{ typeof(AdminProfile), new[] { Permissions.Admin} },
};
///
/// Policies names
///
public class Policies
{
///
/// Administration
///
public const string Admin = "Manager.Administration";
}
///
/// Policies
///
public static readonly Policy[] PoliciesConfiguration = new[]
{
new Policy() { Name = Policies.Admin, Claims = new[] { Permissions.Admin} }
};
}
}