public Task <MinIdpUserData> GetBySysAsync(Atom realm, string sysToken, AuthenticationRequestContext ctx) { if (sysToken.IsNullOrWhiteSpace()) { return(null); //bad user } // TODO: Add system token logic throw new NotImplementedException(); }
public Task<MinIdpUserData> GetByUriAsync(Atom realm, string uri, AuthenticationRequestContext ctx = null) { if (realm.Value == "r1" && uri == "uri1") return Task.FromResult(new MinIdpUserData { SysId = 1, Realm = realm, CreateUtc = DateTime.UtcNow, StartUtc = DateTime.UtcNow.AddMinutes(-10), EndUtc = DateTime.UtcNow.AddMinutes(10), Name = "R1User1", Status = UserStatus.User }); if (realm.Value == "r2" && uri == "uri1") return Task.FromResult(new MinIdpUserData { SysId = 2, Realm = realm, CreateUtc = DateTime.UtcNow, StartUtc = DateTime.UtcNow.AddMinutes(-10), EndUtc = DateTime.UtcNow.AddMinutes(10), Name = "R2User1", Status = UserStatus.User }); return Task.FromResult<MinIdpUserData>(null); }
public async Task <MinIdpUserData> GetByUriAsync(Atom realm, string uri, AuthenticationRequestContext ctx) { if (uri.IsNullOrWhiteSpace()) { return(null); //bad user } var euri = m_Handler.ParseUri(uri); var qry = new Query <MinIdpUserData>("MinIdp.GetByUserName") { new Query.Param("realm", realm), new Query.Param("uname", euri) }; return(await Data.LoadDocAsync(qry).ConfigureAwait(false)); }
public Task <MinIdpUserData> GetBySysAsync(Atom realm, string sysToken, AuthenticationRequestContext ctx = null) { if (realm.Value == "r1" && sysToken == "t1") { return(Task.FromResult(new MinIdpUserData { SysId = 1, Realm = realm, CreateUtc = DateTime.UtcNow, StartUtc = DateTime.UtcNow.AddMinutes(-10), EndUtc = DateTime.UtcNow.AddMinutes(10), Name = "R1User1", Status = UserStatus.User })); } if (realm.Value == "r2" && sysToken == "t1") { return(Task.FromResult(new MinIdpUserData { SysId = 2, Realm = realm, CreateUtc = DateTime.UtcNow, StartUtc = DateTime.UtcNow.AddMinutes(-10), EndUtc = DateTime.UtcNow.AddMinutes(10), Name = "R2User1", Status = UserStatus.User })); } return(Task.FromResult <MinIdpUserData>(null)); }
public Task <MinIdpUserData> GetByIdAsync(Atom realm, string id, AuthenticationRequestContext ctx = null) { if (realm.Value == "r1" && id == "user1") { return(Task.FromResult(new MinIdpUserData { SysId = 1, Realm = realm, CreateUtc = DateTime.UtcNow, StartUtc = DateTime.UtcNow.AddMinutes(-10), EndUtc = DateTime.UtcNow.AddMinutes(10), Name = "R1User1", Status = UserStatus.User, LoginId = "user1", LoginPassword = PWD1 })); } if (realm.Value == "r2" && id == "user1") { return(Task.FromResult(new MinIdpUserData { SysId = 2, Realm = realm, CreateUtc = DateTime.UtcNow, StartUtc = DateTime.UtcNow.AddMinutes(-10), EndUtc = DateTime.UtcNow.AddMinutes(10), Name = "R2User1", Status = UserStatus.User, LoginId = "user1", LoginPassword = PWD2 })); } return(Task.FromResult <MinIdpUserData>(null)); }
//+==============================================================================================+ //+ Template existing implementation can be looked-up from the MongoDb-related work here: + //+ Type: Azos.Security.MinIdp.MinIdpMongoDbStore + //+ File: Azos.MogoDb.dll::/Security/MinIdp/MinIdpMongoDbStore.cs + //+==============================================================================================+ public async Task <MinIdpUserData> GetByIdAsync(Atom realm, string id, AuthenticationRequestContext ctx) { if (id.IsNullOrWhiteSpace()) { return(null); //bad user } var eid = m_Handler.ParseId(id); //Lookup by: //(`REALM`, `ID`, `TID`, `PROVIDER`);. // by executing CRUD query against ICrudDataStore (which needs to be configured as a part of this class) var qry = new Query <MinIdpUserData>("MinIdp.GetById") { new Query.Param("realm", realm), new Query.Param("id", eid) }; return(await Data.LoadDocAsync(qry).ConfigureAwait(false)); }
public async Task <object> GetBySys(Atom realm, string sysToken, bool plain, AuthenticationRequestContext ctx) { var store = Store; return(secure(store, await store.GetBySysAsync(realm, sysToken, ctx).ConfigureAwait(false), plain)); }
public async Task <object> GetByUri(Atom realm, string uri, bool plain, AuthenticationRequestContext ctx = null) { var store = Store; return(secure(store, await store.GetByUriAsync(realm, uri, ctx).ConfigureAwait(false), plain)); }
/// <summary> /// Override to add extra information to <see cref="AuthenticationRequestContext"/>. /// Default implementation does nothing /// </summary> protected virtual void ConfigureAuthenticationRequestContext(LoginFlow loginFlow, AuthenticationRequestContext context) { }