From any Python code, it is possible to retrieve information about the user or API key currently running this code.
This can be used:
- From code running within a recipe or notebook, for the code to know who is running said code
- From code running with a plugin recipe, for the code to know who is running said code
- From code running outside of DSS, simply to retrieve details of the current API key
Furthermore, the API provides the ability, from a set of HTTP headers, to identify the user represented by these headers. This can be used in the backend of a webapp (either Bokeh or Flask), in order to securely identify which user is currently browsing the webapp.
auth_info = client.get_auth_info() # auth_info is a dict which contains at least a "authIdentifier" field, which is the login for a user print ("User running this code is %s" % auth_info["authIdentifier"])
- How to authenticate calls made from a Flask webapp: https://github.com/dataiku/dss-code-samples/tree/master/visualization/flask-webapps/authenticate-calls