Difference between revisions of "WISE-PaaS/Single Sign-On(SSO)"

From ESS-WIKI
Jump to: navigation, search
(Replaced content with "= Overview = :Introduction for integration a global Advantech OpenID connect to Individual systems. = Howto = == Apply a manager account == *Apply a manager accou...")
Line 8: Line 8:
  
 
*Apply a manager account for OpenID Central Server from Rison’s team. When applying, please to provide the below information.
 
*Apply a manager account for OpenID Central Server from Rison’s team. When applying, please to provide the below information.
*
+
**Your service name.
(1) Your service name.
+
**Your client name.
 
+
**Whether let user do registration on page or not?
(2) Your client name.
+
**Your administrator account name for this service (mapping with your service name).
 
 
(3) Whether let user do registration on page or not?
 
 
 
(4) Your administrator account name for this service (mapping with your service name).
 
 
 
== Info or Update Device's Capability ==
 
 
 
*Description: Agent will send it's capability to Server for description all resource.
 
*Type: Auto update
 
*Direction: Agent-> Server
 
*Topic: /cagent/admin/<devID>/agentactionreq
 
*QoS: 0
 
*Retained: 0
 
*Payload: 
 
 
 
Example: SenHub's Capability
 
<pre>{
 
  "susiCommData":{
 
    "infoSpec": {
 
        "SenHub": {
 
            "SenData": {"e":[ {"n":"Temperature","u":"Cel","v":0.000000,"min":-100.000000,"max":200.000000,"asm":"r","type":"d","rt":"ucum.Cel","st":"ipso","exten":""},
 
                              {"n":"Humidity","u":"%","v":0.000000,"min":0.000000,"max":100.000000,"asm":"r","type":"d","rt":"ucum.%","st":"ipso","exten":""},
 
                              {"n":"GPIO1","u":"","bv":0,"min":0.000000,"max":1.000000,"asm":"r","type":"b","rt":"","st":"ipso","exten":""},
 
                              {"n":"GPIO2","u":"","bv":0,"min":0.000000,"max":1.000000,"asm":"r","type":"b","rt":"","st":"ipso","exten":""}
 
                            ],
 
            "bn":"SenData"
 
            },
 
            "Info": {"e":[{"n":"Name","sv":"SenHub1","asm":"rw"},
 
                          {"n":"sw","sv":"1.0.00","asm":"r"}
 
                        ],
 
            "bn":"Info"
 
          },
 
          "Net": {"e":[{"n":"sw","sv":"1.0.00","asm":"r"},
 
                        {"n":"Neighbor","sv":"","asm":"r"},
 
                        {"n":"Health","v":"100.000000","asm":"r"}
 
                      ],
 
            "bn":"Net"
 
          }
 
      }
 
  },
 
  "commCmd":2052,
 
  "requestID":2001,
 
  "agentID":"0017000E40000001",
 
  "handlerName":"general",
 
  "sendTS":160081024
 
  }
 
}
 
</pre>
 
 
 
Example: ML HDD Predicitaion&nbsp;Capability
 
<pre>{ 
 
  "susiCommData":{ 
 
      "infoSpec":{ 
 
        "ML":{ 
 
            "HDD_Predition":{ 
 
              "0085458221447854589":{ 
 
                  "Info":{
 
                        "e":[{"n":"Name","sv":"HDD Machine Learning Predition,"asm":"r"},
 
                            {"n":"Accuracy","v":83,"u":"%"}
 
                            {"n":"version","sv":"v2.0.1"}],
 
                    "bn":"Info"
 
                  },
 
                  "Input":{
 
                        "e":[{"n":"Name","sv":"disk0","asm":"w"},
 
                            {"n":"SMART1","v":10,"asm":"w","require":"MUST"},
 
                            {"n":"SMART2","v":20,"asm":"w","require":"SHOULD"},
 
                            {"n":"SMART3","v":20,"asm":"w","require":"MAY"}],
 
                    "bn":"Input"
 
                  },
 
                  "Output":{
 
                        "e":[{"n":"Name","sv":"disk0","asm":"r"},
 
                            {"n":"Health","bv":1,"asm":"r"},
 
                            {"n":"Alert1","sv":"","asm":"r"},
 
                            {"n":"Alert2","sv":"","asm":"r"},
 
                            {"n":"Alert3","sv":"","asm":"r"}],
 
                    "bn":"Output"
 
                  }
 
                  "bn":"0085458221447854589",
 
                  "ver":1
 
              },
 
              "bn":"HDD_Predition",
 
              "ver":1
 
            },
 
            "ver":1
 
        }
 
      },
 
      "commCmd":2052,
 
      "requestID":2001,
 
      "agentID":"0085458221447854589",
 
      "handlerName":"general",
 
      "sendTS":160081020
 
  }
 
}</pre>
 
 
 
 
 
<pre>require:
 
        MUST&nbsp;: This word, or the words "REQUIRED" and "SHALL" mean that
 
        the item is an absolute requirement of the specification
 
       
 
        SHOULD: This word or the adjective "RECOMMENDED" means that
 
        there may exist valid reasons in particular circumstances to
 
        ignore this item, but the full implications should be
 
        understood and the case carefully weighed before choosing a
 
        different course
 
       
 
        MAY: This word or the adjective "OPTIONAL" means that this
 
        item is truly optional.  One vendor may choose to include the
 
        item because a particular marketplace requires it or because it
 
        enhances the product, for example; another vendor may omit the
 
        same item</pre>
 
 
 
 
 
 
 
== Auto Update Sensor Data Value ==
 
 
 
*Description: Agent will update latest value to server.
 
*Type: Auto update
 
*Direction: Agent-> Server
 
*Topic: /cagent/admin/&lt;devID&gt;/deviceinfo
 
*QoS: 0
 
*Retained: 0
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
    "data":{ 
 
        "SenHub":{ 
 
          "SenData":{ 
 
              "e":[ 
 
                { 
 
                    "n":"Temperature",
 
                    "v":1
 
                },
 
                { 
 
                    "n":"Humidity",
 
                    "v":57
 
                },
 
                { 
 
                    "n":"GPIO1",
 
                    "bv":0
 
                },
 
                { 
 
                    "n":"GPIO2",
 
                    "bv":0
 
                }
 
              ],
 
              "bn":"SenData"
 
          },
 
          "ver":1
 
        }
 
    },
 
    "commCmd":2055,
 
    "requestID":2001,
 
    "agentID":"0017000E40000001",
 
    "handlerName":"general",
 
    "sendTS":160081031
 
  }
 
}
 
</pre>
 
 
 
== Get Sensor Data ==
 
 
 
*Description: Server can send mqtt message to get sensor data value.
 
*Type: Request
 
*Direction: Server -> Agent
 
*Topic: /cagent/admin/&lt;devID&gt;/agentcallbackreq
 
*QoS: 0
 
*Retained: 0
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
    "sessionID":"2746E3B65BAB115338B9668CDC5C35C4",
 
    "sensorIDList":{ 
 
        "e":[ 
 
          { 
 
              "n":"SenHub/Info/sw"
 
          }
 
        ]
 
    },
 
    "commCmd":523,
 
    "requestID":0,
 
    "agentID":"",
 
    "handlerName":"SenHub",
 
    "sendTS":1466057267
 
  }
 
}
 
</pre>
 
 
 
*Description: Agent will reply its data value.
 
*Type: Reply
 
*Direction: Agent -> Server
 
*Topic: /cagent/admin/&lt;devID&gt;/agentactionreq
 
*QoS: 0
 
*Retained: 0
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
    "commCmd":524,
 
    "handlerName":"SenHub",
 
    "sessionID":"2746E3B65BAB115338B9668CDC5C35C4",
 
    "sensorInfoList":{ 
 
        "e":[ 
 
          { 
 
              "n":"/Info/sw",
 
              "sv":"1.0.00",
 
              "StatusCode":200
 
          }
 
        ]
 
    }
 
  }
 
}
 
</pre>
 
 
 
== Set Sensor Data ==
 
 
 
*Description: Server can send mqtt message to set sensor data value.
 
*Type: Request
 
*Direction: Server -> Agent
 
*Topic: /cagent/admin/&lt;devID&gt;/agentcallbackreq
 
*QoS: 0
 
*Retained: 0
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
    "sensorIDList":{ 
 
        "e":[ 
 
          { 
 
              "sv":"SenHub1",
 
              "n":"SenHub/Info/Name"
 
          }
 
        ]
 
    },
 
    "sessionID":"4DDF0B6DE2773176095F55E8C930507A",
 
    "commCmd":525,
 
    "requestID":0,
 
    "agentID":"",
 
    "handlerName":"SenHub",
 
    "sendTS":1466088605
 
  }
 
}
 
</pre>
 
 
 
*Description: Agent will reply its result.
 
*Type: Reply
 
*Direction: Agent -> Server
 
*Topic: /cagent/admin/&lt;devID&gt;/agentactionreq
 
*QoS: 0
 
*Retained: 0
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
    "commCmd":526,
 
    "handlerName":"SenHub",
 
    "sessionID":"4DDF0B6DE2773176095F55E8C930507A",
 
    "sensorInfoList":{ 
 
        "e":[ 
 
          { 
 
              "n":"/Info/Name",
 
              "sv":"Success",
 
              "StatusCode":200
 
          }
 
        ]
 
    }
 
  }
 
}
 
</pre>
 
 
 
 
 
 
 
== EventNotify ==
 
 
 
*Description:&nbsp;
 
*Type: Auto update
 
*Direction: Agent -> Server
 
*Topic: /cagent/admin/&lt;devID&gt;/eventnotify
 
*QoS:&nbsp;?
 
*Retained:&nbsp;?
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
      "commCmd":2059,
 
      "requestID":2001,
 
      "agentID":"000014DAE996BE04",
 
      "handlerName":"general",
 
      "sendTS":1453356274,
 
      "eventnotify":{ 
 
        "subtype":"predictError", #predictError/predictInfo
 
        "msg":"HDD smart 5 over the threshold",
 
        "severity":2,
 
        "handler":"MsgGen",
 
        "extMsg":{
 
&nbsp;          "predictMsg":{
 
              "health":"Sick",
 
              "suggestion1":"Please back up your HDD data. The HDD has the probability to break down in 30 days.",
 
              "deviceName":"ST9250315AS"
 
            },
 
&nbsp;          "alertMsg":{
 
&nbsp;              "warning":"Yes",
 
&nbsp;              "suggestion1":"Please lower the environment temperature under 40C.",
 
&nbsp;              "suggestion2":"Please make sure the cooling system is working properly.",
 
&nbsp;              "deviceName":"ST9250315AS"
 
&nbsp;          }
 
&nbsp;        }
 
      }
 
  }
 
}</pre>
 
 
 
 
 
<pre>severity:
 
    Severity_Emergency = 0,
 
    Severity_Alert    = 1,
 
    Severity_Critical  = 2,
 
    Severity_Error    = 3,
 
    Severity_Warning  = 4,
 
    Severity_Informational = 5,
 
    Severity_Debug    = 6,
 
 
 
subtype:
 
&nbsp;    THRESHOLD_CHECK_INFO
 
&nbsp;    THRESHOLD_CHECK_ERROR</pre>
 
 
 
== Service Discover ==
 
 
 
== Interactive Communication ==
 
 
 
*Description: Request Communication protocol to others service (agent)
 
*Type: Request
 
*Direction: Service-1 -> Service-2
 
*Topic: /cagent/admin/&lt;devID&gt;/Input
 
*QoS: 0
 
*Retained: 0
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
    "Input":{ 
 
        "e":[{"n":"Name","sv":"disk2"},
 
            {"n":"SMART1","v":68},
 
            {"n":"SMART2","v":10}]
 
        ]
 
    },
 
    "sessionID":"4DDF0B6DE2773176095F55E8C930507A",
 
    "commCmd":525,
 
    "requestID":0,
 
    "agentID":"",
 
    "handlerName":"ML",
 
    "sendTS":1466088605
 
  }
 
}</pre>
 
 
 
*Description: Service will response
 
*Type: Request
 
*Direction: Service-2&nbsp;-> Service-1
 
*Topic: /cagent/admin/&lt;devID&gt;/Output
 
*QoS: 0
 
*Retained: 0
 
*Payload:
 
<pre>{ 
 
  "susiCommData":{ 
 
    "Output":{
 
              "e":[{"n":"Name","sv":"disk2"},
 
                    {"n":"Health","bv":0}],
 
      "bn":"Output"
 
    },
 
    "sessionID":"4DDF0B6DE2773176095F55E8C930507A",
 
    "commCmd":2055,
 
    "requestID":2001,
 
    "agentID":"0085458221447854589",
 
    "handlerName":"general",
 
    "sendTS":160081031
 
  }
 
}</pre>
 
 
 
== Action ==
 
 
 
*Description:&nbsp;
 
*Type:&nbsp;?
 
*Direction: Agent -> Server
 
*Topic:&nbsp;????
 
*QoS:&nbsp;?
 
*Retained:&nbsp;?
 
*Payload:?
 
<pre>???</pre>
 

Revision as of 10:55, 9 January 2017

Overview

Introduction for integration a global Advantech OpenID connect to Individual systems.

Howto

Apply a manager account

  • Apply a manager account for OpenID Central Server from Rison’s team. When applying, please to provide the below information.
    • Your service name.
    • Your client name.
    • Whether let user do registration on page or not?
    • Your administrator account name for this service (mapping with your service name).