I am using web3.js 1.0.0-beta.36 to connect to the blockchain.

But unfortunately this code cannot connect to Metamask, if it has been enabled.

    var metamask = false;
	if (typeof web3 !== 'undefined') {
		web3 = new Web3(web3.currentProvider);
		metamask = true; 
		web3.eth.defaultAccount = web3.eth.accounts[0];
	} else {
		web3 = new Web3(new
		Web3.providers.HttpProvider(infuraUrl));
		var address = web3.eth.accounts.create().address;
	}
	myContract = new web3.eth.Contract(abi,contractAddress);
	myContract.methods.Register((Name,Id).send({},function(error,result){
		if (! error)
			console.log(result);
		else
			console.log(error);
	});
When we run this program with Metamsk it displays this error:

    Error: Returned error: Error: MetaMask Tx Signature: User denied transaction signature.
but when I mention a fixed address it works:

    myContract.methods.Register((Name,Id).send({from: '0x...'},function(error,result){
    		if (! error)
    			console.log(result);
    		else
    			console.log(error);
    	});
For some reasons I can't bring the address itself in the source code and I want it to get the address from Metamask.
What should I do?