{"_id":"5e444e5c0a3b820061b5b13a","project":"568bdc1483d2061900d86cdc","version":{"_id":"59a72290d61777001b6c42c3","project":"568bdc1483d2061900d86cdc","__v":35,"createdAt":"2017-08-30T20:39:44.453Z","releaseDate":"2017-08-30T20:39:44.453Z","categories":["59a7236e3fe4d90025117c10","59a72eb6cb0db3001b84cfe2","59a734eb757d030019b85af8","59c0243b1b2d07001a9d2b76","59c035e42126e10028effb12","59c06c40df5b3c0010584a13","59c1a5852cabe5002641a3e7","59c2fb00b2b45c0010b7a3d7","59c32ceb9aea850010ac4130","59c32e6e190c90003cb0d12f","59c33affb2b45c0010b7aa23","59c7dfa457bd8200105444dc","59c7e975c50cf30010d712a0","59cffdef0cd4dd0010294d54","59d0622ca91a810032c8f60c","59d06733c1aec60026253065","59d174d44ac471001a07b123","59d5a5e323e6e800103defb2","59ecf1d8ed507c001c52b255","59f76fef8581dc0010593e6f","5a0c003680a35b0012c35db0","5a8358722e78660075e45f42","5a846645b5ec3a001203517e","5b258091bc7a6700033b9cb5","5b26e48e024807000315a740","5b44edff3306680003663f5c","5b468abd3d4a9e0003789111","5b468d8f3dcb6a0003c6e374","5b47b0b93d4a9e000378a33a","5b538d114ea24f00033c726f","5b6a0efe402b32000336c33f","5bba5e5d7ba7710003bd902a","5bc2703349ac3a0013eec3e5","5c351061191e2b002b4988a8","5c8b01b199b56e00440aa018"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.0.0","version":"0"},"category":{"_id":"5b47b0b93d4a9e000378a33a","project":"568bdc1483d2061900d86cdc","version":"59a72290d61777001b6c42c3","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-07-12T19:49:13.569Z","from_sync":false,"order":12,"slug":"features","title":"Features"},"user":"579bf67d90783b0e00842650","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2020-02-12T19:13:32.594Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":9,"body":"# Automated User Logins\n\n## Background and Overview\n\nTo understand what this functionality addresses, we must first understand OAuth. Many services utilize OAuth as a means to allow 3rd party services to become authorized to consume a user's information. For example, if you log in with Facebook on another website, you are using the OAuth protocol. OAuth is simply a protocol to grant access to information which otherwise is private.\n\nThe important takeaway here is that this requires a browser to accomplish. Therefore any time one needs to activate a conduit with a 3rd party service (utilizing OAuth), they are required to enter a browser and enter credentials so that permission can be granted to the 3rd party service's information.\n\nThis is certain functionality which automates the login of users with supported 3rd party integrations by automating the browser aspect of logging in. This allows for a now programmatic interface to a once manual process. \n\n### How It Works\n\nTo enable this process, one simply needs to create an activation using the details prescribed under **Implementation**. This feature does the following:\n\n- Exposes a programatic means of creating conduit activations\n- If it is determined that an activation fails (which can occur due to unforeseen issues, e.g. network downtime, service downtime, etc.), this process is automatically kicked off in the background to re-activate the activation using the stored credentials.\n\n### FAQ\n\n- Where are credentials stored?\n  -  Credentials passed in request are saved within the context of the activation that will be created. \n- How do I delete credentials from Droplit?\n  - Delete conduit activation\n\n### Use Cases\n\nThe reason for this functionality is twofold:\n\n1. If an activation fails due to an unforeseen error, for example a network issue or service downtime, this automates the re-activation process which would otherwise be manual.\n2. When many user accounts are being managed, it is incredibly cumbersome to individually activate environments. This provides a programmatic means to activate conduits within environments (and keep them activated)\n\n## Implementation\n\n#### Endpoint\n\nPOST https://droplit.io/api/conduits/:id/conduit-activations/credentials\n\n#### Body\n\n_It is important to note different conduits have different body requirements. Please reference supported conduits table (below) view body requirements._\n\n```json\n{\n    user?: string,\n    passphrase?: string,\n    environment: string\n}\n```\n\n## Supported Conduits and Requirements\n\n| Supported Conduits | Body Requirements (parameter: type)                          |\n| ------------------ | ------------------------------------------------------------ |\n| LG                 | email: string<br />password: string<br />environment: string |\n\n\n\n_ This document requires dramatic polishing. Please direct any questions on this topic to jake:::at:::droplit.io_","excerpt":"","slug":"automated-user-logins","type":"basic","title":"Automated User Logins"}

Automated User Logins


# Automated User Logins ## Background and Overview To understand what this functionality addresses, we must first understand OAuth. Many services utilize OAuth as a means to allow 3rd party services to become authorized to consume a user's information. For example, if you log in with Facebook on another website, you are using the OAuth protocol. OAuth is simply a protocol to grant access to information which otherwise is private. The important takeaway here is that this requires a browser to accomplish. Therefore any time one needs to activate a conduit with a 3rd party service (utilizing OAuth), they are required to enter a browser and enter credentials so that permission can be granted to the 3rd party service's information. This is certain functionality which automates the login of users with supported 3rd party integrations by automating the browser aspect of logging in. This allows for a now programmatic interface to a once manual process. ### How It Works To enable this process, one simply needs to create an activation using the details prescribed under **Implementation**. This feature does the following: - Exposes a programatic means of creating conduit activations - If it is determined that an activation fails (which can occur due to unforeseen issues, e.g. network downtime, service downtime, etc.), this process is automatically kicked off in the background to re-activate the activation using the stored credentials. ### FAQ - Where are credentials stored? - Credentials passed in request are saved within the context of the activation that will be created. - How do I delete credentials from Droplit? - Delete conduit activation ### Use Cases The reason for this functionality is twofold: 1. If an activation fails due to an unforeseen error, for example a network issue or service downtime, this automates the re-activation process which would otherwise be manual. 2. When many user accounts are being managed, it is incredibly cumbersome to individually activate environments. This provides a programmatic means to activate conduits within environments (and keep them activated) ## Implementation #### Endpoint POST https://droplit.io/api/conduits/:id/conduit-activations/credentials #### Body _It is important to note different conduits have different body requirements. Please reference supported conduits table (below) view body requirements._ ```json { user?: string, passphrase?: string, environment: string } ``` ## Supported Conduits and Requirements | Supported Conduits | Body Requirements (parameter: type) | | ------------------ | ------------------------------------------------------------ | | LG | email: string<br />password: string<br />environment: string | _ This document requires dramatic polishing. Please direct any questions on this topic to [email protected]_