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>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
