On Mon, Jun 18, 2018 at 11:04 AM, Maduranga Siriwardena <[email protected]> wrote:
> Hi Senthalan, > > "stepOptions" is gives a better meaning than "authenticationOptions" as I > feel. > > Shall we rename the object key to "stepOptions"? Please suggest any > better name, if the name "stepOptions" doesn't convey the meaning what it > is intended for. > Shall we use just "authenticators"? > > Thanks, > > On Mon, Jun 18, 2018 at 10:14 AM Senthalan Kanagalingam < > [email protected]> wrote: > >> Hi Maduranga, >> >> Yes, we will have 2 objects(authenticationOptions and >> authenticatorParams) inside the 2nd parameter. I have done the >> implementation to support this template, >> >> executeStep(<stepNo>, { authenticationOptions : <authenticationOptions>, >> *authenticatorParams : {local : <authenticatorName> : { <key> : <value>},* >> * >> federated : <idpName> : { <key> : <value> }* >> }, >> {onSuccess: function(){<someFunction>}, onFail: >> function(){<someFunction>}}) >> >> Here is the sample, >> >> function onInitialRequest(context) { >> executeStep(1, >> { >> authenticatorParams: { >> local : { >> "BasicAuthenticator" :{ >> "userName" : "alex", >> "domain" : "localhost" >> }, >> "SMSOTP" :{ "foo" : "abc"} >> }, >> federated : { >> "FacebookIdp" : { "foo" : "xyz"} >> } >> }, >> { >> onSuccess: function (context) { >> executeStep(2); >> } >> } >> ); >> } >> >> thanks, >> >> On Mon, Jun 18, 2018 at 9:43 AM Maduranga Siriwardena <[email protected]> >> wrote: >> >>> Hi Sagara, >>> >>> I think "foo" : "alex" is a parameter passed to the authenticator. And >>> yes, if we can provide a little bit meaningful example it would be easier >>> to understand. >>> >>> @Senthalan Kanagalingam <[email protected]> , I was under the >>> impression that we are providing the parameters for the authenticators as a >>> different JSON object, rather than using the same authenticationOptions >>> object which is intended to filter the authenticators prompted in the step. >>> Have we finalized this? I think if we can provide 2 objects named >>> "stepOptions" and "authenticatorParams" (we can decide the names) it would >>> be better than using the same object. >>> >>> Thanks, >>> >>> On Fri, Jun 15, 2018 at 7:20 PM Sagara Gunathunga <[email protected]> >>> wrote: >>> >>>> >>>> Do we have authenticator with "foo" : "alex" ? when you provide >>>> sample please make sure to provide sample closer to real world, please >>>> provide a real example. >>>> >>>> Thanks ! >>>> >>>> On Fri, Jun 15, 2018 at 6:56 PM, Senthalan Kanagalingam < >>>> [email protected]> wrote: >>>> >>>>> Hi all, >>>>> >>>>> We are having an update in the structure of the basic syntax. Here is >>>>> a sample, >>>>> >>>>> function onInitialRequest(context) { >>>>> executeStep(1, >>>>> { >>>>> authenticationOptions: { >>>>> local : { >>>>> "BasicAuthenticator" :{ >>>>> "foo" : "alex", >>>>> "domain" : >>>>> "localhost" >>>>> }, >>>>> "SMSOTP" :{ "foo" : "abc"} >>>>> }, >>>>> federated : { >>>>> "FacebookIdp" : { "foo" : "xyz"} >>>>> } >>>>> }, >>>>> { >>>>> onSuccess: function (context) { >>>>> executeStep(2); >>>>> } >>>>> } >>>>> ); >>>>> } >>>>> >>>>> We can have 2 objects inside "authenticationOptions". In "local", we >>>>> can specify the authenticator identifier and map of parameters (key-value >>>>> pair). And in "federated", we can specify the parameter map for the >>>>> federated identity provider. >>>>> >>>>> And place note that the value of the parameter has to be String. >>>>> >>>>> thanks, >>>>> >>>>> On Wed, Jun 13, 2018 at 6:49 PM Senthalan Kanagalingam < >>>>> [email protected]> wrote: >>>>> >>>>>> [update] >>>>>> >>>>>> hi all, >>>>>> >>>>>> We had an offline discussion and decided to change the authentication >>>>>> script syntax. We will be having an extra object in the 2nd parameter in >>>>>> the executeStep which is introduced to filter the authenticators[1]. >>>>>> There we can specify the authenticator and parameter >>>>>> >>>>>> executeStep(<stepNo>, { authenticationOptions : >>>>>> <listOfAuthenticators>, >>>>>> *authenticatorParams : [ {authenticator : <authenticatorName>,* >>>>>> >>>>>> *params : { <paramKey> : <paranValue> }* >>>>>> >>>>>> *]*, >>>>>> >>>>>> {onSuccess: function(){<someFunction>}, onFail: function(){< >>>>>> someFunction>}}) >>>>>> >>>>>> >>>>>> >>>>>> An example will be, >>>>>> >>>>>> function onInitialRequest (context) { >>>>>> executeStep(1 ,{ authenticationOptions : [{ authenticator : >>>>>> "Sample HardwareKey Authenticator"},{ idp : "google" }], >>>>>> authenticatorParams : [{ authenticator : "Sample HardwareKey >>>>>> Authenticator", >>>>>> params : { >>>>>> "foo" : "xyz" >>>>>> }}, >>>>>> { idp : "google", >>>>>> params : { >>>>>> "foo" : "abc" >>>>>> }}] >>>>>> },{ >>>>>> onSuccess : function(context) { >>>>>> executeStep(2); >>>>>> } >>>>>> }); >>>>>> } >>>>>> >>>>>> In authenticator (java code), we can access the parameter map defined >>>>>> by the script for that particular authenticator using getRuntimeParams() >>>>>> method. >>>>>> >>>>>> Please share your idea about this new syntax change and the method >>>>>> name. >>>>>> >>>>>> >>>>>> [1] - "[IS] Filtering authentication options of a step by script" >>>>>> >>>>>> >>>>>> On Tue, Jun 12, 2018 at 5:32 PM Senthalan Kanagalingam < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> With an offline discussion we decided to change the definition from >>>>>>> parameter to property. >>>>>>> >>>>>>> context.*property*.foo = "xyz"; >>>>>>> and/or >>>>>>> context.*property*['foo'] = "xyz"; >>>>>>> >>>>>>> So in the authenticator we can access using getScriptProperty("foo"); >>>>>>> >>>>>>> thanks, >>>>>>> Senthalan. >>>>>>> >>>>>>> On Mon, Jun 11, 2018 at 3:45 PM Senthalan Kanagalingam < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Pulasthi, >>>>>>>> >>>>>>>> On Mon, Jun 11, 2018 at 11:36 AM Pulasthi Mahawithana < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Senthalan, >>>>>>>>> >>>>>>>>> On Mon, Jun 11, 2018 at 11:10 AM Senthalan Kanagalingam < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> I am working on the $subject. The purpose of this implementation >>>>>>>>>> is to have application-specific configurations for authenticators. >>>>>>>>>> Currently, we can static configurations for the authenticators in the >>>>>>>>>> application-authentication.xml file. >>>>>>>>>> >>>>>>>>>> In the script, we can set the parameters as follow, If we want to >>>>>>>>>> pass the foo to the authenticator, >>>>>>>>>> >>>>>>>>>> context.foo = "xyz"; >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> Shall we change this to following to avoid any conflicts with >>>>>>>>> existing context objects? >>>>>>>>> >>>>>>>>> context.parameter.foo = "xyz"; >>>>>>>>> and/or >>>>>>>>> context.parameter['foo'] = "xyz"; >>>>>>>>> >>>>>>>> >>>>>>>> + 1. I have implemented with the suggestions. >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>>> We can get back the value in the authenticators( executed after >>>>>>>>>> this definition) by calling context.getScriptParameter("foo") >>>>>>>>>> >>>>>>>>>> I have developed a POC for this. I have created a new map in the >>>>>>>>>> "AuthenticationContext" to save these parameters. >>>>>>>>>> >>>>>>>>>> Please share your thoughts about this implementation. >>>>>>>>>> >>>>>>>>>> thanks, >>>>>>>>>> Senthalan. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> *Senthalan Kanagalingam* >>>>>>>>>> *Software Engineer - WSO2 Inc.* >>>>>>>>>> *Mobile : +94 (0) 77 18 77 466* >>>>>>>>>> <http://wso2.com/signature> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Pulasthi Mahawithana* >>>>>>>>> Associate Technical Lead >>>>>>>>> WSO2 Inc., http://wso2.com/ >>>>>>>>> Mobile: +94-71-5179022 >>>>>>>>> Blog: https://medium.com/@pulasthi7/ >>>>>>>>> >>>>>>>>> <https://wso2.com/signature> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> *Senthalan Kanagalingam* >>>>>>>> *Software Engineer - WSO2 Inc.* >>>>>>>> *Mobile : +94 (0) 77 18 77 466* >>>>>>>> <http://wso2.com/signature> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *Senthalan Kanagalingam* >>>>>>> *Software Engineer - WSO2 Inc.* >>>>>>> *Mobile : +94 (0) 77 18 77 466* >>>>>>> <http://wso2.com/signature> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> *Senthalan Kanagalingam* >>>>>> *Software Engineer - WSO2 Inc.* >>>>>> *Mobile : +94 (0) 77 18 77 466* >>>>>> <http://wso2.com/signature> >>>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> *Senthalan Kanagalingam* >>>>> *Software Engineer - WSO2 Inc.* >>>>> *Mobile : +94 (0) 77 18 77 466* >>>>> <http://wso2.com/signature> >>>>> >>>> >>>> >>>> >>>> -- >>>> Sagara Gunathunga >>>> >>>> Director; WSO2, Inc.; http://wso2.com >>>> Linkedin; http://www.linkedin.com/in/ssagara >>>> Blog ; http://ssagara.blogspot.com >>>> Mobile : +9471 <+94%2071%20565%209887>2149951 >>>> >>>> >>> >>> -- >>> Maduranga Siriwardena >>> Senior Software Engineer >>> WSO2 Inc; http://wso2.com/ >>> >>> Email: [email protected] >>> Mobile: +94718990591 >>> Blog: *https://madurangasiriwardena.wordpress.com/ >>> <https://madurangasiriwardena.wordpress.com/>* >>> <http://wso2.com/signature> >>> >> >> >> -- >> >> *Senthalan Kanagalingam* >> *Software Engineer - WSO2 Inc.* >> *Mobile : +94 (0) 77 18 77 466* >> <http://wso2.com/signature> >> > > > -- > Maduranga Siriwardena > Senior Software Engineer > WSO2 Inc; http://wso2.com/ > > Email: [email protected] > Mobile: +94718990591 > Blog: *https://madurangasiriwardena.wordpress.com/ > <https://madurangasiriwardena.wordpress.com/>* > <http://wso2.com/signature> > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- *Ayesha Dissanayaka* Senior Software Engineer, WSO2, Inc : http://wso2.com <http://www.google.com/url?q=http%3A%2F%2Fwso2.com&sa=D&sntz=1&usg=AFQjCNEZvyc0uMD1HhBaEGCBxs6e9fBObg> 20, Palm grove Avenue, Colombo 3 E-Mail: [email protected] <[email protected]>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
