Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
      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);
      }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
            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));
            }
Ejemplo n.º 5
0
            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));
            }
Ejemplo n.º 6
0
        //+==============================================================================================+
        //+ 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));
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
        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));
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Override to add extra information to <see cref="AuthenticationRequestContext"/>.
 /// Default implementation does nothing
 /// </summary>
 protected virtual void ConfigureAuthenticationRequestContext(LoginFlow loginFlow, AuthenticationRequestContext context)
 {
 }