Merge branch 'feature/oauth2-kalila' into feature/oauth2-login-display

This commit is contained in:
David Rowe 2020-07-25 16:53:43 +12:00
commit fec0e7a8bc
4 changed files with 26 additions and 4 deletions

View file

@ -45,6 +45,11 @@ Item {
property bool lostFocus: false
readonly property bool loginDialogPoppedUp: loginDialog.getLoginDialogPoppedUp()
// TODO:
// readonly property bool isLoggingInToDomain: loginDialog.getDomainLoginRequested()
// readonly property bool domainAuthProvider: loginDialog.getDomainLoginAuthProvider()
readonly property bool isLoggingInToDomain: true
readonly property string domainAuthProvider: "https://example.com/oauth2"
QtObject {
id: d
@ -71,7 +76,12 @@ Item {
}
function login() {
loginDialog.login(emailField.text, passwordField.text);
if (!isLoggingInToDomain) {
loginDialog.login(emailField.text, passwordField.text);
} else {
loginDialog.loginDomain(emailField.text, passwordField.text, domainAuthProvider);
}
if (linkAccountBody.loginDialogPoppedUp) {
var data;
if (linkAccountBody.linkSteam) {
@ -87,7 +97,7 @@ Item {
}
bodyLoader.setSource("LoggingInBody.qml", { "loginDialog": loginDialog, "root": root, "bodyLoader": bodyLoader, "withSteam": linkAccountBody.withSteam,
"withOculus": linkAccountBody.withOculus, "linkSteam": linkAccountBody.linkSteam, "linkOculus": linkAccountBody.linkOculus,
"displayName":displayNameField.text });
"displayName":displayNameField.text, "isLoggingInToDomain": linkAccountBody.isLoggingInToDomain });
}
function init() {
@ -99,6 +109,7 @@ Item {
errorContainer.height = (loginErrorMessageTextMetrics.width / displayNameField.width) * loginErrorMessageTextMetrics.height;
}
loginButton.text = (!linkAccountBody.linkSteam && !linkAccountBody.linkOculus) ? "Log In" : "Link Account";
loginButton.text = (!isLoggingInToDomain) ? "Log In" : "Log In to Domain";
loginButton.color = hifi.buttons.blue;
displayNameField.placeholderText = "Display Name (optional)";
var savedDisplayName = Settings.getValue("Avatar/displayName", "");
@ -393,7 +404,7 @@ Item {
HifiStylesUit.ShortcutText {
id: cantAccessText
z: 10
visible: !linkAccountBody.linkSteam && !linkAccountBody.linkOculus
visible: !linkAccountBody.linkSteam && !linkAccountBody.linkOculus && !linkAccountBody.isLoggingInToDomain
anchors {
top: loginButton.bottom
topMargin: hifi.dimensions.contentSpacing.y
@ -492,7 +503,7 @@ Item {
id: signUpContainer
width: loginContainer.width
height: signUpTextMetrics.height
visible: !linkAccountBody.linkSteam && !linkAccountBody.linkOculus
visible: !linkAccountBody.linkSteam && !linkAccountBody.linkOculus && !linkAccountBody.isLoggingInToDomain
anchors {
left: loginContainer.left
top: loginContainer.bottom

View file

@ -31,6 +31,7 @@ Item {
property bool linkSteam: linkSteam
property bool linkOculus: linkOculus
property bool createOculus: createOculus
property bool isLoggingInToDomain: isLoggingInToDomain
property string displayName: ""
readonly property bool loginDialogPoppedUp: loginDialog.getLoginDialogPoppedUp()
@ -106,6 +107,9 @@ Item {
loggingInGlyph.visible = true;
loggingInText.text = "Logging in to Oculus";
loggingInText.x = loggingInHeader.width/2 - loggingInTextMetrics.width/2 + loggingInGlyphTextMetrics.width/2;
} else if (loggingInBody.isLoggingInToDomain) {
loggingInText.text = "Logging in to Domain";
loggingInText.anchors.centerIn = loggingInHeader;
} else {
loggingInText.text = "Logging in";
loggingInText.anchors.centerIn = loggingInHeader;

View file

@ -135,6 +135,12 @@ void LoginDialog::login(const QString& username, const QString& password) const
DependencyManager::get<AccountManager>()->requestAccessToken(username, password);
}
void LoginDialog::loginDomain(const QString& username, const QString& password, const QUrl domainAuthProvider) const {
qDebug() << "Attempting to login " << username << "into a domain through" << domainAuthProvider;
// TODO:
// DependencyManager::get<DomainAccountManager>()->requestAccessToken(username, password, domainAuthProvider);
}
void LoginDialog::loginThroughOculus() {
qDebug() << "Attempting to login through Oculus";
if (auto oculusPlatformPlugin = PluginManager::getInstance()->getOculusPlatformPlugin()) {

View file

@ -71,6 +71,7 @@ protected slots:
Q_INVOKABLE QString oculusUserID() const;
Q_INVOKABLE void login(const QString& username, const QString& password) const;
Q_INVOKABLE void loginDomain(const QString& username, const QString& password, const QUrl domainAuthProvider) const;
Q_INVOKABLE void loginThroughSteam();
Q_INVOKABLE void linkSteam();
Q_INVOKABLE void createAccountFromSteam(QString username = QString());