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

Reply via email to