How this new architecture works with application-authentication.xml file,
say we have same parameter name with different names in
application-authentication.xml
file and the script ?

I guess we have completed an approach to get user inputs during the
authentication flow, can those user inputs assign to these parameters ?

Thanks !

On Mon, Jun 18, 2018 at 11:22 AM, Ayesha Dissanayaka <aye...@wso2.com>
wrote:

>
>
> On Mon, Jun 18, 2018 at 11:04 AM, Maduranga Siriwardena <
> madura...@wso2.com> 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 <
>> sentha...@wso2.com> 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 <
>>> madura...@wso2.com> 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 <sentha...@wso2.com> , 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 <sag...@wso2.com>
>>>> 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 <
>>>>> sentha...@wso2.com> 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 <
>>>>>> sentha...@wso2.com> 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 <
>>>>>>> sentha...@wso2.com> 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 <
>>>>>>>> sentha...@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Pulasthi,
>>>>>>>>>
>>>>>>>>> On Mon, Jun 11, 2018 at 11:36 AM Pulasthi Mahawithana <
>>>>>>>>> pulast...@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Senthalan,
>>>>>>>>>>
>>>>>>>>>> On Mon, Jun 11, 2018 at 11:10 AM Senthalan Kanagalingam <
>>>>>>>>>> sentha...@wso2.com> 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: madura...@wso2.com
>>>> 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: madura...@wso2.com
>> Mobile: +94718990591
>> Blog: *https://madurangasiriwardena.wordpress.com/
>> <https://madurangasiriwardena.wordpress.com/>*
>> <http://wso2.com/signature>
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> 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: aye...@wso2.com <ayshsa...@gmail.com>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


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

Reply via email to